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。