silverlight和wCF访问的跨域问题
我编写了WCF服务,还编写了silverlight客户端(在同一个解决方案中)。 我试图从silverlight客户端访问WCF服务,但遇到跨域异常 只有在服务器计算机上运行系统(通过IIS 7.5)时才会发生这种情况 我尝试在本地计算机上运行相同的系统(wcf服务器和silverlight客户端) 但事实并非如此 例外情况: 尝试向URI的请求时出错http://localhost:4522/MyService’. 这可能是由于在没有适当的跨域策略或不适合SOAP服务的策略的情况下,试图以跨域方式访问服务。您可能需要联系服务的所有者以发布跨域策略文件,并确保它允许发送与SOAP相关的HTTP头。有关详细信息,请参阅内部异常 我在网上看到,我需要添加类似于ICrossDomainService的内容,但我不知道需要在我的项目(silverlight项目?WCF服务器项目?)中的何处定义它们 有人能帮我吗silverlight和wCF访问的跨域问题,silverlight,wcf,Silverlight,Wcf,我编写了WCF服务,还编写了silverlight客户端(在同一个解决方案中)。 我试图从silverlight客户端访问WCF服务,但遇到跨域异常 只有在服务器计算机上运行系统(通过IIS 7.5)时才会发生这种情况 我尝试在本地计算机上运行相同的系统(wcf服务器和silverlight客户端) 但事实并非如此 例外情况: 尝试向URI的请求时出错http://localhost:4522/MyService’. 这可能是由于在没有适当的跨域策略或不适合SOAP服务的策略的情况下,试图以跨域
谢谢。我认为您需要在网站的根文件夹中创建一个客户端访问策略文件 这里描述了这一点: 策略文件如下所示,您需要根据跨域需求对其进行定制。此示例取自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以确保没有打开安全漏洞 我添加了跨域文件,它仍然不能正常工作。