silverlight和wCF访问的跨域问题

silverlight和wCF访问的跨域问题,silverlight,wcf,Silverlight,Wcf,我编写了WCF服务,还编写了silverlight客户端(在同一个解决方案中)。 我试图从silverlight客户端访问WCF服务,但遇到跨域异常 只有在服务器计算机上运行系统(通过IIS 7.5)时才会发生这种情况 我尝试在本地计算机上运行相同的系统(wcf服务器和silverlight客户端) 但事实并非如此 例外情况: 尝试向URI的请求时出错http://localhost:4522/MyService’. 这可能是由于在没有适当的跨域策略或不适合SOAP服务的策略的情况下,试图以跨域

我编写了WCF服务,还编写了silverlight客户端(在同一个解决方案中)。 我试图从silverlight客户端访问WCF服务,但遇到跨域异常

只有在服务器计算机上运行系统(通过IIS 7.5)时才会发生这种情况

我尝试在本地计算机上运行相同的系统(wcf服务器和silverlight客户端) 但事实并非如此

例外情况:

尝试向URI的请求时出错http://localhost:4522/MyService’. 这可能是由于在没有适当的跨域策略或不适合SOAP服务的策略的情况下,试图以跨域方式访问服务。您可能需要联系服务的所有者以发布跨域策略文件,并确保它允许发送与SOAP相关的HTTP头。有关详细信息,请参阅内部异常

我在网上看到,我需要添加类似于ICrossDomainService的内容,但我不知道需要在我的项目(silverlight项目?WCF服务器项目?)中的何处定义它们

有人能帮我吗


谢谢。

我认为您需要在网站的根文件夹中创建一个客户端访问策略文件

这里描述了这一点:

策略文件如下所示,您需要根据跨域需求对其进行定制。此示例取自MSDN,未经更改可能无法使用

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
<!--Enables Silverlight 3 all methods functionality-->
    <policy>
      <allow-from http-methods="*">      
        <domain uri="*"/>
      </allow-from>      
      <grant-to>      
        <resource path="/api" include-subpaths="true"/>
      </grant-to>      
    </policy>
<!--Enables Silverlight 2 clients to continue to work normally -->
    <policy>
      <allow-from >      
        <domain uri="*"/>
      </allow-from>      
      <grant-to>      
        <resource path="/api" include-subpaths="true"/>
      </grant-to>      
    </policy>
  </cross-domain-access>
</access-policy>

我对模式不太熟悉,但我还是再次点击了MSDN。类似这样的情况可能更接近:

</cross-domain-access>
  <policy>
    <allow-from>
      <domain uri="*"/>
    </allow-from>
    <grant-to>
      <resource/>
    </grant-to>
  </policy>
</cross-domain-access>


请检查MSDN以确保没有打开安全漏洞

我添加了跨域文件,它仍然不能正常工作。