关于WCF的IIS部署问题,请高手不吝指点迷津
本人是WCF开发的菜鸟,最近在开发一个Silverlight+WCF架构的程序。
发现开发好的WCF在VS2008中能和Silverlight正常通信,但,将WCF服务部署到IIS上的话,总是报“The remote server returned an error: NotFound”的错误。
想请问各位大虾一下,有没有WCF服务部署到IIS的完整步骤说明吗?非常感谢!
[解决办法]
首先,我想楼主应该是用的“Silverlight Enabled WCF”吧。
然后楼主最好检查一下Silverlight在连接WCF是的URL是否正确,Debug.WriteLine出来看一下。
如果也是对的,那么直接通过http方式访问IIS中配置好的WCF服务,看看能否显示正常。
我想应该是不能正常显示的,那么可能您需要修改WCF的配置文件。因为部署到IIS中往往需要改配置的。
[解决办法]
失败原因多数是因为uri的错误.
首先,你需要设置项目在IIS WEB SERVER下运行,不需要是使用 VS 提供的web 环境,这样引用连接就是http://localhost/webServiceTest2Web/test2.svc
然后,在ServiceReference.ClientConfig中, 修改endpoint address 为以上地址.
在程序中调用,应该确保调用地址正确,
Uri address = new Uri(Application.Current.Host.Source, "../YourService.svc");
var webService = new YourWebService.YourWebServiceClient("YourServiceEndPointName", address.AbsolutePath);
这样发布就会成功了.