WCF服务不在IIS上运行!

时间:2010-05-17 16:40:40

标签: wcf iis

我在本地IIS上托管了WCF服务。我创建了一个使用IIS托管的服务的ASP.NET网站。

从Visual Studio WebDev Server运行时,一切正常,但只要我从浏览器运行相同的网站[在IIS中托管]后,网站似乎没有与服务进行通信!

从Visual Studio WebDev Server运行时的相同设置,无法从IIS运行!

知道任何问题?

请帮忙!

由于

3 个答案:

答案 0 :(得分:0)

我打赌它是地址 - 当使用添加服务引用时,它会将“localhost”硬编码到客户端上的ClientConfig文件中。

选中此项并实施一种在部署时切换到真实(IIS)地址的方法。

(检查你有正确的部署时地址的方法是在浏览器中启动它,尝试导航到“http://yoururl.com/MyService.svc”你应该得到一个链接到WSDL的页面,让你做确保你有正确的地址..这是你的客户应该寻找的地址)

答案 1 :(得分:0)

要检查的事情:

  • 你有SVC文件吗?它在哪里?
  • 您是否连接到正确的服务地址?它将是:

    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

上运行

一旦你照顾到这一点,你应该没事。