【问题标题】:Silverlight Cross Domain exception when using IP Address使用 IP 地址时的 Silverlight 跨域异常
【发布时间】:2012-09-12 10:27:56
【问题描述】:

我有一个奇怪的问题,使用主机名浏览我的 Silverlight 5 网站可以正常工作,但使用 IP 地址时会引发此异常:http://iforce.co.nz/i/1ohkll5v.32o.png

我已经在我的自托管 WCF Web 服务(类似于Cross Domain Exception with WcfSvcHost)上的 REST 服务中实现了 clientaccesspolicy 返回流,并且在使用主机名时它工作得非常好。但是,如果我调试该方法,它实际上永远不会在具有 IP 地址的场景中被调用。

Silverlight 中是否存在一些限制,不允许您将 IP 地址与 WCF 一起使用?我似乎记得这在不久前就起作用了。

【问题讨论】:

  • 尝试使用Fiddler 查看 Silverlight 在使用 IP 地址时是否发出策略请求,如果发出,响应是什么。我认为这是最好的起点。
  • @LuanYou 你有没有找到解决这个问题的方法?

标签: wcf silverlight


【解决方案1】:

此错误的另一个原因是 Silverlight 也阻止了跨区域访问。因此,在 clinet 浏览器中,您需要将两个地址(一个带有主机名和一个带有 IP 地址)添加到 Internet Explorer 中的同一安全区域(本地 Intranet 或受信任的站点)。

【讨论】:

    【解决方案2】:

    虽然这是一个老问题——它不会帮助你,但它可能会帮助其他人。

    我遇到了同样的问题,并且在寻找答案时浪费了数小时。对我来说,问题最终是我使用机器名称引用 WCF 服务。正因为如此——Silverlight 以为我指的是本地机器——所以 Silverlight 甚至懒得提出客户端策略请求。

    所以只需使用 IP 地址而不是机器名称来引用服务。即使该 IP 地址是本地的。然后检查 Fiddler 并注意 Silverlight 客户端现在将在第一次服务调用之前发出策略请求。

    【讨论】:

      猜你喜欢
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 2015-01-02
      • 2011-06-23
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多