在使用Silverlight調用其他域裡WCF時,出現錯誤提示:
....
這可能是由于試圖以跨域方式通路服務而又沒有正确的跨域政策,或政策不适用于 SOAP 服務。您可能需要與該服務的所有者聯系,以釋出跨域政策檔案并確定該檔案允許發送 SOAP 相關的 HTTP 标頭。出現此錯誤也可能是由于使用的是 Web 服務代理中的内部類型而沒有使用 InternalsVisibleToAttribute 屬性。有關詳細資訊,請參閱内部異常...
于是,想到肯定要設定什麼東西,才能允許WCF服務跨域通路。于是,Google了以下。找到了具體的方法。将如下代碼
<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
儲存成clientaccesspolicy.xml放在WCF所在的根目錄。這樣就跨域通路了。
本文轉自風車車 部落格園部落格,原文連結:http://www.cnblogs.com/xray2005/archive/2011/06/22/2087701.html,如需轉載請自行聯系原作者