IIS 7 / WAS上的WCF net.tcp端口共享

时间:2011-12-16 08:55:44

标签: wcf iis-7 net.tcp

我是wcf编程的新手,我一直在研究一个小项目,并且遇到net.tcp端口共享问题。我正在使用.net框架4和iis 7。

我在IIS上的不同网站上托管了我们的服务器上的两个wcf服务(serviceA和serviceB)。每个网站都有自己的.svc文件,web.config和bin。如果我在不同的net.tcp端口上有这些服务,那么没有问题,我可以从我的电脑上的visual studio添加服务参考。服务运行正常。

但是我们很快就会启动一个包含更多服务的项目,我们希望避免为每个服务打开一个tcp端口,所以我一直在尝试将serviceA和serviceB连接到端口共享。如果我将它们设置在同一个端口上,那么我可以访问我添加的第一个服务,但是当我尝试访问添加到同一端口的第二个服务时,我收到以下错误:

  

元数据包含无法解析的引用:   '的net.tcp:// MYSERVER /serviceB.svc'。套接字连接已中止。这个   可能是由处理您的消息或接收错误引起的   远程主机或底层网络超出超时   资源问题。本地套接字超时 ** 。一个   现有连接被远程主机强制关闭   服务在当前解决方案中定义,尝试构建解决方案   并再次添加服务参考。

我无法弄清楚出了什么问题。我已就这个主题进行了大量搜索,并确保以下服务正在运行:

Windows进程激活服务 Net.Tcp端口共享服务 Net.Tcp侦听器适配器

此外,net.tcp是网站高级设置中启用的协议。我目前最好的猜测是它可能与我在IIS管理器中定义net.tcp绑定的方式有关。我的两个运行独立服务的网站都有以下内容:808:*(net.tcp)这是正确的吗?

正如我之前所说,如果在两个独立的端口上设置tcp服务运行正常,那么问题必须与端口共享有关。非常感谢任何建议

2 个答案:

答案 0 :(得分:3)

好的,我发现了我遇到的问题。在IIS中,我将每个服务设置为自己的网站,并试图将这些不同的网站设置为端口共享。这不起作用。

但是我发现如果我只设置一个网站,然后在网站下添加我的服务作为seaprate应用程序,那么端口共享将起作用。这种方法让我可以在一个网站下将多个服务作为应用程序。

答案 1 :(得分:0)

检查一下。 这对你有帮助。

http://himanshudesai.wordpress.com/2011/06/03/multiple-wcf-services-on-a-single-port/

希望这有帮助。