默认情况下,silverlight 在端口 943 上检查跨域策略。您还可以更改SocketAsyncEventArgs的SocketClientAccessPolicyProtocol属性以在端口 80 上使用 HTTP 进行检查。
我有一个浏览器内的 silverlight 应用程序,并且处于必须使用另一个端口强制执行策略检查的情况。高于 1023。
无论如何,我可以强制 Silverlight 检查与默认端口不同的端口上的跨域策略吗?
默认情况下,silverlight 在端口 943 上检查跨域策略。您还可以更改SocketAsyncEventArgs的SocketClientAccessPolicyProtocol属性以在端口 80 上使用 HTTP 进行检查。
我有一个浏览器内的 silverlight 应用程序,并且处于必须使用另一个端口强制执行策略检查的情况。高于 1023。
无论如何,我可以强制 Silverlight 检查与默认端口不同的端口上的跨域策略吗?
您可以使用不同的端口,只要它成为您关于所有 HTTP 的 Web MS 文章的根
您可以在不同的端口上托管您的网站:http ://www.myweb.com: 8080,只要 8080 是您网站的根目录并且您的 clientaccesspolicy.xml 在那里。
搜索此文本“使用客户端访问策略文件进行跨域通信”的链接,它应该显示更多示例来说明我的意思。
但是,您不能在 http://www.myweb.com 上托管您的 silverlight 插件,并从http://www.myweb.com:8080/clientaccesspolicy.xml提供 clientaccesspolicy 。
您可以托管http://www.myweb.com并从端口 943 提供策略,但是您必须创建一个策略侦听器,然后它就没有那么简单了。
这是我关于您自己的策略侦听器(在 WPF 中托管 Silverlight)的帖子,它可能会有所帮助:Silverlight Policy Listener/Service host