none
silverlight如何调用IIS上的WCF服务!!!!!!报跨域错误!! RRS feed

  • 常规讨论

  • 如果利用localhost方式,在silverlight中可以正常调用WCF服务。

    但,我把WCF服务发布到IIS中(确定发布没问题,我在局域网其他机器的IE中输入:http://192.168.0.4/wcf/service.svc能够正常显示的),在silverlight中也能够添加IIS上的WCF服务,但当程序中调用WCF服务时,就报跨域错误。

    我已经在WCF服务项目中添加了clientaccesspolicy.xml文件(如果不添加该文件,采用默认的localhost方式调用是不会成功的)

    期待高手解决!!!!

    2011年1月27日 15:15

全部回复

  • 您好,

    您在調用IIS上的WCF服務發生跨網域錯誤,可以試著把clientaccesspolicy.xml檔案放在IIS目錄底下,就是

    C:\Inetpub\wwwroot這位置,因為clientaccesspolicy.xml 檔案的正確放置位置應該是在該服務之網域的根目錄


    2011年1月27日 18:06
  • 已经解决。

    按以下步骤设置工程项目就不再出现异常。

    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形式。

    2011年1月29日 1:54