我在互聯網上有一個RESTful服務,但silverlight需要跨域設置,我需要使用Silverlight使用此服務,我嘗試了一個WCF服務作爲中間件,但不幸的是,這並沒有奏效。如何使用Silverlight使用WCF服務而不需要跨域策略
0
A
回答
1
創建服務器端的UTIL類如Util.DoRequest(字符串地址):字符串
從msdn:
回報readStream.ReadToEnd
到您的客戶端通過WCF RIA服務(域服務類)
通過這種方式,如果您的服務器訪問此REST風格的服務或者它已經位於那裏,那麼您的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();
1
您可以嘗試使用Javascript Bridge。我沒有嘗試過這種方法,但可以使用ajax調用,然後通過JS橋「推」SL。
1
而不是嘗試未知的方式,最好在服務器中放置一個跨域策略文件。爲什麼您不需要在服務器中具有跨域策略文件和客戶端訪問文件?它有什麼具體原因嗎?
相關問題
- 1. 帶有wcf服務的Silverlight 4 - 跨域策略問題
- 2. 如何避免jquery ajax中使用wcf服務的跨域策略?
- 3. Silverlight的跨域策略
- 4. 如何爲iis7 wcf服務創建/獲取跨域策略?
- 5. AJAX跨域請求WCF服務,而不使用jsonp
- 6. 如何使用Silverlight啓用WCF服務
- 7. Silverlight的WCF服務跨域問題
- 8. 跨域調用WCF服務
- 9. Silverlight的WCF跨域/ clientaccesspolicy政策
- 10. 跨域策略
- 11. Silverlight 4.0:跨域策略錯誤
- 12. Silverlight WCF問題與跨域策略文件
- 13. 如何使用Silverlight調試WCF服務
- 14. WCF跨域策略安全錯誤
- 15. 繁忙WCF服務策略
- 16. 從Silverlight調用的WCF服務庫跨域錯誤
- 17. silverlight服務跨域錯誤
- 18. 任何方式上載圖像使用Silverlight Web服務器,而無需使用WCF服務
- 19. WCF跨域服務創建
- 20. 如何使WCF服務https啓用並在Silverlight中使用它?
- 21. Silverlight跨域沒有跨站點策略文件
- 22. 跨域JQuery Ajax使用BasicHttpbinding調用WCF服務
- 23. 使用wcf而不是web服務!
- 24. 用asp.net處理jquery ajax跨域策略
- 25. Dart應用程序和跨域策略
- 26. Apache的Flash跨域策略
- 27. ExtJS的4 - 跨域策略
- 28. WCF jQuery的Ajax的跨域策略 - 「不允許的方法」
- 29. 在Silverlight中使用WCF Web服務
- 30. 從Silverlight使用WCF服務庫
我使用的服務器沒有這樣的文件。 – 2013-04-29 20:43:09
它不會有這樣的文件。您需要添加這些文件 – 2013-05-20 05:43:42
某些服務器,如雲存儲(S3,Azure存儲等)。您無法將跨域策略文件放在這些服務器上。在這種情況下,您需要依靠解決方法。這意味着「更好」並不總是一個可行的選擇。 – ZafarYousafi 2013-11-12 10:50:45