如何使用silverlight使用WCF服务而无需跨域策略
我在internet上有一个RESTful服务,但silverlight需要跨域设置,我需要使用silverlight提供的此服务,我曾尝试使用WCF服务作为中间件,但不幸的是,这不起作用。您可以尝试使用。我没有尝试过这种方法,但是您可以使用ajax调用,然后通过JS桥“推送”到SL。您可以尝试使用。我没有尝试过这种方法,但是您可以使用ajax调用,然后通过JS桥“推送”到SL。为服务器端创建一个util类,例如util.DoRequest(字符串地址):string 发件人: 通过WCF RIA服务向您的客户端返回如何使用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
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存储等)。您不能将跨域策略文件放在这样的服务器上。在这种情况下,您需要依靠变通方法。这意味着“更好”并不总是一个可行的选择。