1

我正在使用 WCF 服务(不是 RIA)和 silverlight 我收到以下错误:

尝试向 URI 'http://localhost:8732/' 发出请求时出错。这可能是由于在没有适当的跨域策略或不适合 SOAP 服务的策略的情况下尝试以跨域方式访问服务。您可能需要联系服务的所有者以发布跨域策略文件并确保它允许发送与 SOAP 相关的 HTTP 标头。此错误也可能是由于在 Web 服务代理中使用内部类型而不使用 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>

跨域.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>

任何想法为什么我得到这个?

提前致谢。

4

3 回答 3

0

当我将 WCF 服务从我的 Silverlight Web 应用程序项目移到一个单独的 Web 应用程序中时,我就遇到了 SOAP WCF 服务的这个问题。即使我的 clientaccesspolicy.xml 在 WCF Web 应用程序的根目录中,我仍然收到此错误。对我来说最快的解决方案是将我的 WCF 服务从 SOAP 更改为REST,最后 Silverlight 识别了 clientaccesspolicy.xml 并且请求再次开始工作。

于 2012-08-11T06:17:57.690 回答
0

如果不能安装fiddler,可以下载使用TcpTrace吗?http://www.pocketsoap.com/tcptrace/

于 2011-05-26T20:27:50.990 回答
0

clientaccesspolicy.xml 需要放在托管 WCF 服务的网站的根目录下,而不是放在 Web 项目的根目录下。

于 2011-06-21T04:54:20.370 回答