如何解决跨域策略文件错误
| 我正在使用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 举报,一经查实,本站将立刻删除。