我在本地IIS上托管了WCF服务。我创建了一个使用IIS托管的服务的ASP.NET网站。
从Visual Studio WebDev Server运行时,一切正常,但只要我从浏览器运行相同的网站[在IIS中托管]后,网站似乎没有与服务进行通信!
从Visual Studio WebDev Server运行时的相同设置,无法从IIS运行!
知道任何问题?
请帮忙!
由于
答案 0 :(得分:0)
我打赌它是地址 - 当使用添加服务引用时,它会将“localhost”硬编码到客户端上的ClientConfig文件中。
选中此项并实施一种在部署时切换到真实(IIS)地址的方法。
(检查你有正确的部署时地址的方法是在浏览器中启动它,尝试导航到“http://yoururl.com/MyService.svc”你应该得到一个链接到WSDL的页面,让你做确保你有正确的地址..这是你的客户应该寻找的地址)
答案 1 :(得分:0)
要检查的事情:
您是否连接到正确的服务地址?它将是:
http://YourServerName/YourVirtualDirectory/YourServiceFile.svc
这是您在IIS中托管时获得的地址 - 无论您尝试多么努力,都无法覆盖web.config中的地址。
您是否为服务元数据打开了HttpGetEnabled?你可以导航到WSDL地址并获得WSDL吗?
http://YourServerName/YourVirtualDirectory/YourServiceFile.svc?wsdl
答案 2 :(得分:0)
当您将其移动到网络服务器时,听起来好像没有重置服务引用。完成测试后需要执行的操作是将服务移动到IIS,然后将其部署到服务器。然后,在部署之前,您需要在我们的Web应用程序中重新引用或更新您的引用。
通常,在测试您的服务时,它将在http://localhost:someport/myservice.svc
的开发服务器中运行将其部署到IIS时,它将在http://myserver.com/PossibleVDIR/myservice.svc
上运行一旦你照顾到这一点,你应该没事。