前段時間,分享了一些Silverlight和WCF通信的博文,很感謝不少朋友針對文章提出了各種問題,使得我在求解和答疑的路上也獲得了很多,由于平日工作較忙,無法實時跟大家交流,請将在WCF和Silverlight開發方面的問題以評論的形式提出,我會盡我所能,希望能幫到大家。謝謝!
回答:
Silverlight通路服務需要取得伺服器的一份政策檔案,相當于伺服器給了Silverlight一個授權,目前Silverlight最新的版本是會從主機的80端口擷取這個檔案,也就意味着我們需要在預設的wwwroot下放置這個檔案,但是根據WCF綁定方式(TCP,HTTP)的不同,政策檔案内容不一樣。
basicHttpBinding綁定方式時:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="SOAPAction">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
netTcpBinding綁定方式時:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*" />
</allow-from>
<grant-to>
<socket-resource port="4502-4534" protocol="tcp" />
</grant-to>
</policy>
</cross-domain-access>
如果你的WCF同時涉及到這兩個服務:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*" />
</allow-from>
<grant-to>
<socket-resource port="4502-4534" protocol="tcp" />
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
本文轉自wengyuli 51CTO部落格,原文連結:http://blog.51cto.com/wengyuli/586674,如需轉載請自行聯系原作者