天天看點

Q&A:關于Silverlight和WCF通信開發的問題

前段時間,分享了一些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,如需轉載請自行聯系原作者