转:SilverLight4 + WEB SERVICE 解决方案(一)

来源:互联网 发布:剑三捏脸数据魔道祖师 编辑:程序博客网 时间:2024/05/17 08:26

转自:http://www.cnblogs.com/anncesky/articles/1776287.html

 

第一个就是要解决SL访问Web Service跨域访问的问题

看MSDN和网上的资料,里面都说在

  • 在承载服务的域的根目录中放置一个 clientaccesspolicy.xml 文件,以配置服务允许跨域访问。

     

    <?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>

     

     

  • 在承载服务的域的根目录中放置一个有效的 crossdomain.xml 文件。 该文件必须将整个域标记为 public。Silverlight 支持 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="SOAPAction,Content-Type"/>
    </cross-domain-policy>

     

     

    不过相信很多朋友还是用WIN XP做开发环境,很自然地就会把这两个文件放在了和WEB SERVICE相同的文件件下。这就会导制错误。

    正确的做法是应该把这两个文件放在IIS“默认网站”所映射的目录下。