Silverlight学习笔记——跨域调用

  默认情况下,Silverlight仅支持在同域或源站点上调用Web服务,这意味着调用必须使用同一子域、协议和端口。

  通过在其他域的根目录部署使用正确跨域策略文件的Web服务,可以在该域中启用基于Silverlight的应用程序要调用的Web服务,Silverlight支持两种类型的跨域策略文件。

Silverlight跨域策略(clientaccesspolicy.xml)

Flash跨域策略(crossdomain.xml)的子集

 

clientaccesspolicy.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>

它将配置允许从任何其他域访问当前域上的所有资源。<domain uri="*"/>将启用所有HTTP和HTTPS调用方法。

crossdomain.xml

<?xml version="1.0"?>   
<!DOCTYPE cross-domain-policy
  SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>  
  <allow-http-request-headers-from domain="*" headers="*" />  
</cross-domain-policy>

允许从任何其他域访问服务。

  将这两个文件放在Silverlight应用程序将要调用的Web服务工程中的根目录下,就可以跨域调用该Web服务了。

 

posted @ 2012-04-28 16:40  Longlycsu  阅读(432)  评论(0编辑  收藏  举报