嘗試向 URI“http://localhost:30744/Service1.svc”發出請求時出錯。這可能是由於試圖以跨域方式訪問服務而又沒有正確的跨域策略,或策略不適用於 SOAP 服務。您可能需要與該服務的所有者聯繫,以發佈跨域策略文件並確保該文件允許發送 SOAP 相關的 HTTP 標頭。出現此錯誤也可能是由於使用的是 Web 服務代理中的內部類型而沒有使用 InternalsVisibleToAttribute 屬性。有關詳細信息,請參閱內部異常。
解決方法:
一、在WCF項目根目錄下添加clientaccesspolicy.xml文件
xml代碼如下:
<?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>
二:在silverlight項目中添加一箇中介類ServerManager.cs
代碼如下:
如此,即可實現WCF跨域策略