我有一个奇怪的问题,使用主机名浏览到我的Silverlight 5网站可以很好地工作,但是当使用IP地址时,它将引发以下异常:http://iforce.co.nz/i/1ohkll5v.32o.png
我已经在自托管的WCF Web服务(类似于Cross Domain Exception with WcfSvcHost)的REST服务中实现了clientaccesspolicy返回流,并且在使用主机名时可以很好地工作。但是,如果我调试该方法,则在使用IP地址的情况下它实际上不会被调用。
Silverlight中是否存在一些限制,不允许您将IP地址与WCF一起使用?我似乎记得这是在一段时间之前起作用的。
尽管这是一个古老的问题-不会帮助您,但可能会帮助其他人。
我遇到了同样的问题,却花了很多时间来寻找答案。最后,对我来说,问题是我使用计算机名引用了WCF服务。因此,Silverlight以为我指的是本地计算机,因此,Silverlight甚至不用费心提出客户端策略请求。
因此,仅使用IP地址而不是计算机名称来引用服务。即使该IP地址是本地的。然后与Fiddler进行检查,并注意Silverlight客户端现在将在第一个服务调用之前发出策略请求。
此错误的另一个原因是Silverlight也阻止了跨区域访问。因此,在clinet浏览器中,您需要将两个地址(一个具有主机名的地址和一个具有IP地址的地址)添加到Internet Explorer中的同一安全区域(本地Intranet或受信任的站点)。