微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

跨域策略文件错误

如何解决跨域策略文件错误

| 我正在使用WCF服务(不是RIA)和silverlight,出现以下错误:   尝试制作时发生错误   对URI的请求   \'http:// localhost:8732 / \'。这可能   由于尝试访问一个   以跨域方式提供服务,而无需   适当的跨域政策,   或不适合的政策   SOAP服务。您可能需要联系   服务的所有者发布一个   跨域策略文件并确保   它允许与SOAP相关的HTTP标头   被发送。也可能导致此错误   通过使用网络中的内部类型   服务代理而不使用   InternalsVisibletoAttribute属性。   请参阅内部例外   更多细节。 我试图将以下内容添加到我的clientaccesspolicy.xml文件中,并将crossdomain.xml添加到我的Web项目的根目录中。他们看起来像这样...
<access-policy> 
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers=\"*\">
        <domain uri=\"http://*\"/>
        <domain uri=\"https://*\"/>
      </allow-from>
      <grant-to>
        <resource include-subpaths=\"true\" path=\"/\"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>
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>
任何想法我为什么要得到这个? 提前致谢。     

解决方法

如果无法安装提琴手,可以下载并使用TcpTrace吗? http://www.pocketsoap.com/tcptrace/     ,需要将clientaccesspolicy.xml放在承载WCF服务的网站的根目录中,而不是在Web项目的根目录中。     ,当我将WCF服务移到与Silverlight Web应用程序项目分离的Web应用程序中时,我就遇到了SOAP WCF服务的问题。即使将我的clientaccesspolicy.xml放在WCF Web应用程序的根目录中,我仍然遇到此错误。对我而言,最快的解决方案是将WCF服务从SOAP更改为REST,然后,Silverlight最终识别出clientaccesspolicy.xml,并且请求再次开始工作。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。