Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用silverlight使用WCF服务而无需跨域策略_Wcf_Silverlight_Rest - Fatal编程技术网

如何使用silverlight使用WCF服务而无需跨域策略

如何使用silverlight使用WCF服务而无需跨域策略,wcf,silverlight,rest,Wcf,Silverlight,Rest,我在internet上有一个RESTful服务,但silverlight需要跨域设置,我需要使用silverlight提供的此服务,我曾尝试使用WCF服务作为中间件,但不幸的是,这不起作用。您可以尝试使用。我没有尝试过这种方法,但是您可以使用ajax调用,然后通过JS桥“推送”到SL。您可以尝试使用。我没有尝试过这种方法,但是您可以使用ajax调用,然后通过JS桥“推送”到SL。为服务器端创建一个util类,例如util.DoRequest(字符串地址):string 发件人: 通过WCF RI

我在internet上有一个RESTful服务,但silverlight需要跨域设置,我需要使用silverlight提供的此服务,我曾尝试使用WCF服务作为中间件,但不幸的是,这不起作用。

您可以尝试使用。我没有尝试过这种方法,但是您可以使用ajax调用,然后通过JS桥“推送”到SL。

您可以尝试使用。我没有尝试过这种方法,但是您可以使用ajax调用,然后通过JS桥“推送”到SL。

为服务器端创建一个util类,例如util.DoRequest(字符串地址):string

发件人:

通过WCF RIA服务向您的客户端返回
readStream.ReadToEnd
。(域服务类)

通过这种方式,如果您的服务器可以访问此RESTful服务,或者它已经位于那里,那么您的
xap
不需要任何跨域配置

HttpWebRequest request = (HttpWebRequest)WebRequest.Create (args[0]);

        // Set some reasonable limits on resources used by this request
        request.MaximumAutomaticRedirections = 4;
        request.MaximumResponseHeadersLength = 4;
        // Set credentials to use for this request.
        request.Credentials = CredentialCache.DefaultCredentials;
        HttpWebResponse response = (HttpWebResponse)request.GetResponse ();

        Console.WriteLine ("Content length is {0}", response.ContentLength);
        Console.WriteLine ("Content type is {0}", response.ContentType);

        // Get the stream associated with the response.
        Stream receiveStream = response.GetResponseStream ();

        // Pipes the stream to a higher level stream reader with the required encoding format. 
        StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);

        Console.WriteLine ("Response stream received.");
        Console.WriteLine (readStream.ReadToEnd ());
        response.Close ();
        readStream.Close ();

为服务器端创建一个util类,例如util.DoRequest(字符串地址):string

发件人:

通过WCF RIA服务向您的客户端返回
readStream.ReadToEnd
。(域服务类)

通过这种方式,如果您的服务器可以访问此RESTful服务,或者它已经位于那里,那么您的
xap
不需要任何跨域配置

HttpWebRequest request = (HttpWebRequest)WebRequest.Create (args[0]);

        // Set some reasonable limits on resources used by this request
        request.MaximumAutomaticRedirections = 4;
        request.MaximumResponseHeadersLength = 4;
        // Set credentials to use for this request.
        request.Credentials = CredentialCache.DefaultCredentials;
        HttpWebResponse response = (HttpWebResponse)request.GetResponse ();

        Console.WriteLine ("Content length is {0}", response.ContentLength);
        Console.WriteLine ("Content type is {0}", response.ContentType);

        // Get the stream associated with the response.
        Stream receiveStream = response.GetResponseStream ();

        // Pipes the stream to a higher level stream reader with the required encoding format. 
        StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);

        Console.WriteLine ("Response stream received.");
        Console.WriteLine (readStream.ReadToEnd ());
        response.Close ();
        readStream.Close ();

与其尝试未知的方法,不如在服务器中放置一个跨域策略文件。为什么服务器中不需要跨域策略文件和客户端访问文件?有什么具体原因吗?

与其尝试未知的方法,不如在服务器中放置一个跨域策略文件。为什么服务器中不需要跨域策略文件和客户端访问文件?有什么具体原因吗?

我使用的服务器没有这样的文件。它不会有这样的文件。您需要将这些文件添加到一些服务器,如云存储(S3、Azure存储等)。您不能将跨域策略文件放在这样的服务器上。在这种情况下,您需要依靠变通方法。这意味着“更好”并不总是一个可行的选择。我使用的服务器没有这样的文件。它不会有这样的文件。您需要将这些文件添加到一些服务器,如云存储(S3、Azure存储等)。您不能将跨域策略文件放在这样的服务器上。在这种情况下,您需要依靠变通方法。这意味着“更好”并不总是一个可行的选择。