代码之家  ›  专栏  ›  技术社区  ›  Toran Billups

Silverlight 3.0中的跨域策略仍有问题

  •  0
  • Toran Billups  · 技术社区  · 15 年前

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

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

    有什么我错过的简单的吗?

    客户端访问策略.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>
    

    跨域访问

    <?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 回复  |  直到 15 年前
        1
  •  2
  •   Raumornie    15 年前

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

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

        2
  •  0
  •   Ronald Wildenberg    15 年前

    如果得到404响应代码,唯一的原因可能是服务器找不到您要查找的资源。那么你确定你使用的是正确的网址吗?