相关疑难解决方法(0)

在某些浏览器中第一次没有请求clientaccesspolicy.xml

我在Silverlight 4中遇到一个跨域webservice调用遇到了一个奇怪的问题.

启动后,应用程序立即在同一主机上调用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
  • application.xap
  • clientaccesspolicy.xml(正确请求和下载)
  • 网络服务电话

在某些情况下,你只能看到

  • index.html(托管silverlight应用程序的页面)
  • 的Silverlight.js
  • application.xap
  • - >跨域错误(没有请求clientaccesspolicy,没有Web服务调用).

如果满足以下所有条件,则仅在少数计算机上运行(均运行Windows 7):

  • Chrome,Firefox或浏览器外运行的应用程序(IE始终有效)
  • 这是你第一次加载页面(即如果你点击浏览器的重新加载按钮,问题就会消失.关闭/重新启动浏览器,第一次你仍然遇到问题)
  • 没有Fiddler运行(如果你通过Fiddler运行流量问题就会消失).Chrome开发者工具无效.
  • 该计算机与应用程序服务器位于同一域中.如果从外部网络(使用同一台计算机)访问该页面,则问题不存在.

在这些机器上,在这种情况下,问题是100%可重复的.

可能是什么导致了这个?我可以执行哪些步骤来跟踪问题?

silverlight silverlight-4.0

7
推荐指数
1
解决办法
2654
查看次数

标签 统计

silverlight ×1

silverlight-4.0 ×1