在Silverlight 3.0中仍然存在我的跨域策略问题

时间:2009-10-29 13:57:12

标签: silverlight cross-domain

所以我使用下面列出的两个xml文件都没有运气。它们都存在于我在另一个Web服务器(防火墙后面)上的IIS托管Web服务的根目录中。 Web服务是一个简单的类似POX的服务,它返回一个JSON字符串。

此外,我正在尝试从本地计算机上的cassini运行项目访问此服务(以测试它)。我可以从浏览器查看JSON,但当我尝试使用相同的uri执行HTTP GET时会在Silverlight中出现安全性错误(4004是显示的错误代码)

我在这里错过了什么简单的事情?

clientaccesspolicy.xml

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </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>
  <site-control permitted-cross-domain-policies="master-only" /> 
  <allow-access-from domain="*" secure="true" /> 
</cross-domain-policy>

2 个答案:

答案 0 :(得分:2)

您是否正在使用像fiddler这样的工具来查看指向跨域策略文件的请求的地址?这通常是我的第一次检查;如果没有找到政策文件,我会知道它应该在哪里,如果是,那么我通常需要寻找其他地方。

您的clientaccesspolicy.xml与我的引用相同。应该没有问题。

答案 1 :(得分:0)

如果您收到404响应代码,唯一的原因可能是服务器无法找到您要查找的资源。所以你绝对确定你使用的是正确的网址吗?