各位好,小弟在用Silverlight调用WCF有跨域策略的问题,报错:
尝试向 URI“http://localhost:8732/AddService”发出请求时出错。这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP 服务。您可能需要与该服务的所有者联系,以发布跨域策略文件并确保该文件允许发送 SOAP 相关的 HTTP 标头。出现此错误也可能是由于使用的是 Web 服务代理中的内部类型而没有使用 InternalsVisibleToAttribute 属性。有关详细信息,请参阅内部异常。
我在网上查了资料,他们说在网站根目录下放两个策略文件就好了,可以,我已经放了策略文件,还是报这个错。
策略文件放在网站根目录下:
我在Silverlight添加了服务引用:
在silverlight中调用:
我已经放置了策略文件,但是我启动服务运行的时候还是出现跨域的错误,请各位朋友能不吝赐教,我将不胜感激!
你直接放到你的web项目文件夹下试试
也不行啊,我把WCF启动之后,本地debug客户端的Silverlight程序,然后进入调试就报那个错了,我已经把策略文件放到IIS根目录下了,但是还是不行,这到底是为什么。我的配置文件是如下:
@ljcheibao: 你应该不是新建虚拟目录吧?
把策略文件直接放到IIS的网站根目录下就可以了。