【问题标题】:Silverlight policy server on custom port?自定义端口上的 Silverlight 策略服务器?
【发布时间】:2026-01-15 09:50:02
【问题描述】:

默认情况下,silverlight 在端口 943 上检查跨域策略。您还可以更改 SocketAsyncEventArgsSocketClientAccessPolicyProtocol 属性以在端口 80 上检查使用 HTTP。

我有一个浏览器内的 silverlight 应用程序,并且我必须强制使用另一个端口进行策略检查。高于 1023。

我是否可以强制 Silverlight 在不同于默认端口的端口上检查跨域策略?

【问题讨论】:

  • 为什么您的策略不能在端口 80 上提供服务,因为这是 silverlight 的来源,或者您无法访问根目录?据我发现,它是 80 或 943。
  • 我没有root权限

标签: silverlight silverlight-4.0 cross-domain-policy policy-server


【解决方案1】:

您可以使用不同的端口,只要它成为您的网络的根MS article about all things HTTP

您可以在不同的端口上托管您的网站: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

【讨论】: