我需要从 Silverlight 4 应用程序将一些数据写入数据库。
我正在使用启用 Silverlight 的 WCF Web 服务。我已将其发布到 IIS7 并将 ClientAccessPolicy.xml 文件添加到 inetpub/wwwroot (以及其他地方),因此我可以访问 localhost/ClientAccessPolicy.xml 就好了。我还添加了 crossdomain.xml 以防万一。
我还有一个 Silverlight4 客户端应用程序,它可以访问此服务并在开发服务器上通过 VS2010 运行。
当尝试调用 WebService 中的方法时,我收到了跨域错误,尽管我有一个跨域策略并且 Web 服务工作正常。
使用 Fidler 时,我看到客户端应用程序尝试访问 clientaccesspolicy.xml 时出现 304 错误
如果我还将客户端应用程序发布到 IIS7(都在端口 80 下),我可以在同一台机器上使用浏览器运行它,没有问题。但是当我尝试在另一台机器上访问它时,我再次得到一个 crossdaomain 错误。
我尝试了一切,但在任何地方都找不到这个问题的答案!请帮忙!!
这就是我的 ClientAccessPolicy.xml 的样子:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="SOAPAction">
<domain uri="http://*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>