2013-04-26 59 views

回答

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

而不是嘗試未知的方式,最好在服務器中放置一個跨域策略文件。爲什麼您不需要在服務器中具有跨域策略文件和客戶端訪問文件?它有什麼具體原因嗎?

+0

我使用的服務器沒有這樣的文件。 – 2013-04-29 20:43:09

+0

它不會有這樣的文件。您需要添加這些文件 – 2013-05-20 05:43:42

+0

某些服務器,如雲存儲(S3,Azure存儲等)。您無法將跨域策略文件放在這些服務器上。在這種情況下,您需要依靠解決方法。這意味着「更好」並不總是一個可行的選擇。 – ZafarYousafi 2013-11-12 10:50:45