我的 IIS7 + Silverlight 3.0 + WCF 服务应用程序中缺少的链接是跨域策略。是否有关于如何创建/获取此类政策的说明。我知道有两个 xml 文件需要进入应用程序的 Web 根目录。我在里面放了什么,我如何格式化它们,是否存在一些模板来指示需要填写哪些字段?msdn 上是否有说明如何执行此操作的说明?我几乎没有可能的术语来查询谷歌,任何指针都将不胜感激。
谢谢,布赖恩
我的 IIS7 + Silverlight 3.0 + WCF 服务应用程序中缺少的链接是跨域策略。是否有关于如何创建/获取此类政策的说明。我知道有两个 xml 文件需要进入应用程序的 Web 根目录。我在里面放了什么,我如何格式化它们,是否存在一些模板来指示需要填写哪些字段?msdn 上是否有说明如何执行此操作的说明?我几乎没有可能的术语来查询谷歌,任何指针都将不胜感激。
谢谢,布赖恩
好吧,我认为这可能是答案,但当然欢迎讨论其他答案,尤其是。因为我们无论如何都不能关闭线程......
Silverlight 会查找 clientaccesspolicy.xml(特定于 silverlight),如果没有找到,它将退回到 crossdomain.xml,例如也可以由 flash 使用。您只需要其中之一(套接字仅适用于 clientaccesspolicy.xml,但 webclient 和 http 两者都适用)。
现在让我们坚持使用 clientaccesspolicy.xml,因为需要注意的事项较少,而且 crossdomain.xml 支持只是为了赶上 flash 而添加的,因为像 flickr 这样的公共服务已经有了。
包括 clientaccesspolicy.xml 描述的 DTD位于 MSDN 上的此页面
这个基本的例子应该让你开始
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/> <!-- Allows calls from every domain -->
</allow-from>
<grant-to>
<resource path="/api" include-subpaths="false"/> <!-- Only allows domain/api? to be called nothing else including api.txt, api/foo etc... -->
</grant-to>
</policy>
</cross-domain-access>
</access-policy>