我在Silverlight 4clientaccesspolicy.xml不要求第一次在某些浏览器
后开始运行到一个奇怪的问题与跨域Web服务调用立即,应用程序调用从那里同一主机上的web服务它已被下载,但在不同的端口上(例如,应用程序驻留在http://www.mydomain.com:80,web服务在http://www.mydomain.com:81)。没有涉及SSL。 主机提供了一个正确的clientaccesspolicy.xml文件,一切正常大部分时间(如99.9%)。
但是,在某些情况下,浏览器不会请求clientaccesspolicy.xml,因此Web服务调用会被阻止并导致跨域错误。
在这种典型的情况是要求你使用Fiddler或Chrome开发者工具看到的序列:
- 的index.html(页面主办Silverlight应用程序)
- 的Silverlight.js
- 应用.XAP
- clientaccesspolicy.xml(要求和正确下载)
- Web服务调用
在某些情况下,但是你只看到
- 的index.html(托管Silverlight应用程序的页面)
- 的Silverlight.js
- application.xap
- - >跨域错误(没有clientaccesspolicy请求,没有网络服务电话)。
这只是发生在机器的少数(所有运行Windows 7)如果所有这些条件都为真:在运行中的Chrome,火狐
- 应用程序或外的浏览器(IE总是工作)
- 它第一次加载页面(也就是说,如果你点击浏览器上的Reload按钮问题消失。关闭/重新启动浏览器并在第一时间,你仍然有问题)
- 否Fiddler正在运行(如果您通过Fiddler运行流量,问题就会消失)。 Chrome开发者工具虽然没有效果。
- 该机器与服务器在相同的域内。如果您从外部网络(使用同一台机器)访问该页面,则问题不在此处。
在那些机器上,在这些情况下,问题是100%可重现的。
这可能是什么原因造成的?我可以执行哪些步骤来跟踪此问题?
我可以吻你的先生。 –
我也想吻你。这解决了一个问题,导致我们无法使用IIS平滑流式处理技术继续前进。 – theChrisKent