silverlight - 在 silverlight 中获取跨域错误和 clientaccesspolicy 304 错误

标签 silverlight cross-domain-policy

我需要从 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 下),我可以在同一台计算机上使用浏览器毫无问题地运行它。但是当我尝试在另一台机器上访问它时,我再次遇到 crossdamain 错误。

我尝试了所有方法,但我无法在任何地方找到这个问题的答案!请帮忙!!

这是我的 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>

最佳答案

在阅读您的情况之前和之后,我一直在与这个误导性错误“跨域错误”作斗争,我可以肯定地说 ClientAccessPolicy.xml 配置不是这里的问题,您应该去别处看看。

我会做的几件事

  1. 在 silverlight 应用程序上检查我的客户端配置和 Web 服务配置(仔细检查端点、行为和最终绑定(bind)协议(protocol))。
  2. 为您的 wcf 服务启用错误日志记录。
  3. 确保您将正确的身份验证 token 传递给您的网络服务(为托管 WCF 服务的网络应用程序启用匿名身份验证)。

关于silverlight - 在 silverlight 中获取跨域错误和 clientaccesspolicy 304 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10834530/

相关文章:

silverlight - 如何在WriteableBitmap上写字符串?

silverlight - 调试Silverlight应用程序问题

javascript - JavaScript 中的同源策略

Silverlight - 使用 MVVM 动态地将椭圆添加到 Canvas

.net - Silverlight 开发入门

c# - Silverlight 4.0 - 通过自定义安装程序部署 XAP 并将其配置为 OOB + 提升权限

php - 拒绝获取不安全 header "Location"

http - 是否可以在 http 重定向(302 或 307)时设置一些 http header ?

ruby - 无法通过 Ajax 将表单发布到不同的子域(警告 : Can't verify CSRF token authenticity)

javascript - 为什么浏览器会阻止特定的 Ajax 请求?