asp.net SilverLight跨域問題的解決方案

來源:互聯網
上載者:User
SilverLight 出於對安全性的考慮預設情況下對URL的訪問進行了嚴格的限制,只允許訪問同一子域下的URL資源。
下表列出了Silverlight 2.0 中 URL 訪問規則:
  WebClient對象 Media、images、ASX XAML 檔案、Font 檔案 流媒體
允許的協議 HTTP, HTTPS HTTP, HTTPS, FILE HTTP, HTTPS, FILE HTTP
跨協議訪問 不允許 不允許 不允許 不允許來自HTTPS的訪問
跨Web域訪問 不允許 如果不是來自HTTPS則允許 不允許 允許
跨安全區域訪問(Windows) 不允許 不允許 不允許 不允許
跨安全區域訪問(Macintosh) 不允許 允許 不允許 允許
允許重新導向 同域允許 允許 同域允許 不允許

如果WCF與SilverLight Web不是在同一網站,那麼我們就要在被訪問端的根域放上兩個XML檔案 ClientAccessPolicy.xml,CrossDomain.xml.
ClientAccessPolicy .xml最好是儲存成utf-8格式的,檔案內容如下:
 
ClientAccessPolicy.xml的內容
   
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
CrossDomain.xml的格式非常簡單,其根節點為<cross-domain-policy> ,其下包含一個或多個<allow-access-from>節點,<allow-access-from>有一個屬性 domain,其值為允許訪問的域,可以是確切的 IP 位址、一個確切的域或一個萬用字元域(任何域)。
CrossDomain.xml Demo
   
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="http://www.lishewen.com.cn/" />
<allow-access-from domain="*.lishewen.com.cn" />
<allow-access-from domain="222.217.221.16" />
</cross-domain-policy>
關於這兩個檔案的更多內容可以看MSDN http://msdn.microsoft.com/en-us/library/cc645032(VS.95).asp教程x
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.