使用IP地址时Silverlight跨域异常

时间:2012-09-20 04:39:45

标签: wcf silverlight

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

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

Silverlight中是否存在一些限制,不允许您在WCF中使用IP地址?我似乎记得这在一段时间之前就已经开始了。

2 个答案:

答案 0 :(得分:0)

虽然这是一个老问题 - 它对你没有帮助,但它可能对其他人有帮助。

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

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

答案 1 :(得分:0)

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

相关问题