2009-08-24 70 views
0

我的IIS7 + Silverlight 3.0 + WCF服务应用程序中的缺失链接是跨域策略。是否有关于如何创建/获取这样的政策的指示。我知道有两个xml文件需要在应用程序的Web根目录中进行。我如何放置它们,如何格式化它们,是否存在指示哪些字段需要填充的模板?有没有说明MSDN的地方解释如何做到这一点?我只是用可能的术语来查询谷歌,任何指针将不胜感激。如何为iis7 wcf服务创建/获取跨域策略?

感谢, 布赖恩

回答

1

的Silverlight查找clientaccesspolicy.xml(这是针对Silverlight的),如果没有找到这就是它会依傍crossdomain.xml的也可使用通过闪光例如。你只需要其中一个(套接字只与clientaccesspolicy.xml一起工作,但webclient和http与两者一起工作)。

现在,我们坚持使用clientaccesspolicy.xml,因为现在只有较少的警告,并且crossdomain.xml支持仅用于追赶flash,因为像flickr这样的公共服务已经有了。

包括描述为clientaccesspolicy.xml DTD是在this page on 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> 
+0

确定,所以,资源的路径属性应指向的是什么,我编的位置dll的? – 2009-08-24 23:21:35

+1

到您的WCF服务的端点。通常你会有类似http://www.foo.com/api/service的东西。您还可以将其设置为以允许域中的所有内容。 – olle 2009-08-25 11:14:47

+0

嘿所以这就是我所做的,我敢肯定现在关闭,但我仍然得到一个CrossDomainError。还有什么我可以检查? – 2009-08-25 14:15:17