您的位置:首页 > 理论基础 > 计算机网络

登录错误:尝试向URI“http://localhost:61130/UserService.asmx”……跨域策略……解决办法

2014-03-11 14:55 411 查看
碰到问题,网上摘录

(一)

首先确保Silverlight调用Web服务是HttpBasic模式

其次服务地址有两种解决办法

1.中把asmx建在Silverlight.Web的程序下,同项目中不需要跨域也能解决

2.把这个Web服务建在本地IIS中,并通过编辑c:\windows\system32\drivers\etc\host.jxj映射本地的DNS为外网地址(不带端口号的),可以直接按服务形式调用,并添加跨域访问策略

clientaccesspolicy.xml

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>

 

(二)

解决方案:
crossdomain.xml
  <?xml version="1.0" ?>
- <cross-domain-policy>  <allow-access-from domain="*" />   </cross-domain-policy>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>  将这两个文件  粘在webservice 发布的 根目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐