前段时间,分享了一些Silverlight和WCF通信的博文,很感谢不少朋友针对文章提出了各种问题,使得我在求解和答疑的路上也获得了很多,由于平日工作较忙,无法实时跟大家交流,请将在WCF和Silverlight开发方面的问题以评论的形式提出,我会尽我所能,希望能帮到大家。谢谢!
常见问题1:Silverlight访问wcf服务时的策略文件如何设置?
回答:
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>
</access-policy>
如果你的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>
</access-policy>
本文转自wengyuli 51CTO博客,原文链接:http://blog.51cto.com/wengyuli/586674,如需转载请自行联系原作者