微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Q&A:关于Silverlight和WCF通信开发的问题

前段时间,分享了一些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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐