Silverlight跨域策略

时间:2020-03-05 18:56:17  来源:igfitidea点击:

在Silverlight应用程序中,我想从HTTP子域访问silverlight .xap文件页面,但是让Web服务通过HTTPS访问其他子域以获取敏感信息。

我在子域的根目录下设置了clientaccesspolicy.xml,它使silverlight应用程序可以通过http而不是通过https访问其服务。它提供了在没有适当的clientaccesspolicy的情况下通常会出现的跨域访问错误。

我知道浏览器本身在混合HTTP和https方面有很多限制。我是否在尝试做不允许做的事情?

解决方案

回答

检出:http://silverlight.net/forums/t/12741.aspx

You can either make https calls to the
  same domain or http cross-domain
  calls, but not https cross-domain
  calls.
  
  This is described in
  http://msdn2.microsoft.com/en-us/library/cc189008(VS.95).aspx
  
  (see "If not HTTPS" in the matrix)
  By JohnSpurlock

回答

自Silverlight 2.0发布以来,这已经过时了。现在,我们可以使用适当的配置来执行大多数跨域方案。 http://msdn.microsoft.com/zh-CN/library/cc197955(VS.95).aspx

回答

这里要注意的重要一点是,我们必须具有对域请求的" ROOT"级别的访问权限,并且clientaccesspolicy.xml必须位于该级别,而上述信息并未清楚地包含在上述信息中。

例如,如果生产环境中应用程序位于负载平衡器的后面,该负载平衡器像大多数大公司一样通过URI引导流量到应用程序,那么我们会遇到一些问题。

示例:http://mydomain.com/MyApplication/*转到应用程序所在的服务器。
该策略位于http://mydomain.com/clientaccesspolicy.xml。