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

时间:2012-05-31 13:23:34

标签: silverlight cross-domain-policy

我需要从Silverlight 4应用程序向DB写入一些数据。

我正在使用支持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>

1 个答案:

答案 0 :(得分:0)

在阅读您的情况之前和之后,我一直在努力解决这个误导性错误“跨域错误”我可以确定ClientAccessPolicy.xml配置不是问题,您应该在其他地方查找。

我会做的一些事情

  1. 检查我的客户端配置&amp; Silverlight应用程序上的Web服务配置(双重检查端点,行为和最终绑定协议)。
  2. 为您的wcf服务启用错误记录。
  3. 确保将正确的身份验证令牌传递给您的Web服务(为托管WCF服务的Web应用程序启用匿名身份验证)。