Silverlight 不适用于网络的不同 IP 段
本文关键字:IP 不适用 适用于 网络 Silverlight | 更新日期: 2023-09-27 18:32:58
我有一个 Silverlight 应用程序,当它安装在服务器的不同 IP 段中时,它无法登录。(客户端位于 192.168.77.xx 中,服务器位于 192.168.40.xx 中)。
当客户端在同一段上时,它运行平稳。
客户端可以对服务器进行 ping、telnet 和远程桌面操作。它还可以从服务器登录其他应用程序,但不能登录到我的 Silverlight 应用程序。
有谁知道如何使用不同的IP段运行Silverlight应用程序?
为了防止跨站点请求伪造,默认情况下,Silverlight 4(及更高版本)仅允许对图像和媒体以外的所有请求进行源站点通信。若要使 Silverlight 控件能够访问另一个域中的服务,该服务必须显式选择加入以允许跨域访问。
因此,应将ClientAccessPolicy.xml
或CrossDomain.xml
放在承载 Silverlight 应用程序的网站的根目录中。
下面是ClientAccessPolicy.xml
示例(允许从任何其他域访问当前域上的所有资源):
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="SOAPAction">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
这是CrossDomain.xml
的样本:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"/>
</cross-domain-policy>
阅读此处,了解如何跨域边界提供服务。