Silverlight访问webService跨域问题的解决之二

部署到IIS就有问题。首页可以打开,但是提示系统错误

原来就是跨域的权限问题

错误提示:
尝试请求 URI“http://www.XXX.com/PhotoWebService.asmx”时发生错误。这可能是因为在没有适当的跨域策略的情况下试图以跨域方式访问服务,或者是策略不适用于 SOAP 服务。您可能需要与服务所有者联系以发布跨域策略文件,确保策略允许发送与 SOAP 相关的 HTTP 头。请参阅内部异常以了解详细信息。

========================

解决办法

一,添加两个文件

Silverlight 2.0 支持两种不同的机制供服务选择跨域访问:

  • 在承载服务的域的根目录中放置一个 clientaccesspolicy.xml 文件,以配置服务允许跨域访问。
  • Code
    <? 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 >
    在承载服务的域的根目录中放置一个有效的 crossdomain.xml 文件。该文件必须将整个域标记为 public。Silverlight 支持 crossdomain.xml 架构 的一个子集。

 

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

 

并且修改了ServiceReferences.ClientConfig 中的
<endpoint address="http://localhost:3333/SilverlightApplication2/BlogService.asmx " binding="basicHttpBinding"
bindingConfiguration="BlogServiceSoap" contract="BlogService.BlogServiceSoap"
name="BlogServiceSoap" />
地址为我部署的域名。

终于搞定了。
汗啊,部署问题困扰了我好几天。

引用自:http://www.cnblogs.com/star250/archive/2009/04/17.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值