我创建了一个如下所示的 ClientAccessPolicy.xml:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
并将其放入 C:\Inetpub\wwwroot\wss\VirtualDirectories\intranet-80,然后运行 iisreset。不过,当我通过 Silverlight 访问 Web 服务时,我收到一个 CommunicationException 消息,指出没有正确的跨域策略。我还需要做什么才能访问我的网络服务?我无法从另一台主机访问它,也无法从生成的文件 E:\Development\MySLProject\MySLProject\bin\Debug\Default.html 访问它?
干杯
尼克
最佳答案
告诉您如何解决此问题比告诉您在哪里您必须放置文件更容易:
- 第 1 步:安装并启动 Fiddler
- 第 2 步:打开您的 silverlight 客户端
- 第 3 步:在 Fiddler 中观察您的客户端在何处请求 clientAccessPolicy.xml(这是一个简单的 http GET 请求,例如下载图像或其他内容)
- 第 4 步:将您的 clientAccessPolicy 文件放在正确的位置(使用浏览器直接下载进行测试)
我打赌你会在不到 10 分钟内解决问题(去过那里,做过 :-))
关于silverlight - 跨域策略不生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/625959/