2

我有一个奇怪的问题,使用主机名浏览我的 Silverlight 5 网站工作得很好,但是当使用 IP 地址时,它会抛出这个异常:http: //iforce.co.nz/i/1ohkll5v.32o.png

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

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

4

2 回答 2

0

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

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

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

于 2014-01-07T06:14:44.283 回答
0

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

于 2020-01-27T10:43:23.373 回答