如果利用localhost方式,在silverlight中可以正常调用WCF服务。
但,我把WCF服务发布到IIS中(确定发布没问题,我在局域网其他机器的IE中输入:http://192.168.0.4/wcf/service.svc能够正常显示的),在silverlight中也能够添加IIS上的WCF服务,但当程序中调用WCF服务时,就报跨域错误。
我已经在WCF服务项目中添加了clientaccesspolicy.xml文件(如果不添加该文件,采用默认的localhost方式调用是不会成功的)
期待高手解决!!!!
您好,
您在調用IIS上的WCF服務發生跨網域錯誤,可以試著把clientaccesspolicy.xml檔案放在IIS目錄底下,就是
C:\Inetpub\wwwroot這位置,因為clientaccesspolicy.xml 檔案的正確放置位置應該是在該服務之網域的根目錄
已经解决。
按以下步骤设置工程项目就不再出现异常。
1、在silverlight中添加服务引用的时候,需按照“http://192.168.0.4/wcf/service1.svc“形式查找添加应用,而不能写成http://localhost/wcf/service1.svc
2、设置silverlight的承载项目xxx.web属性的web标签的“服务器”:使用本地IIS服务器 一栏应该写为http://192.168.0.4/silverlight,不能写成http://localhost/silverlight形式。