2011-12-16 113 views
3

我是新来的WCF编程和我一直在做一个小项目,因与Net.Tcp端口共享问题。我使用的.NET Framework 4和IIS 7WCF Net.Tcp端口共享WAS

我有两个WCF服务(serviceA和serviceB)我们在IIS上不同的网站服务器上所驻留。每个网站都有自己的.svc文件,web.config和bin。如果我在不同的net.tcp端口上拥有这些服务,那么就没有问题了,我可以从我的电脑上的visual studio中为它们中的每一个添加服务引用。服务运行良好。

但是我们将很快开始与更多的服务项目,我们希望避免打开TCP端口各一,所以我一直在试图让serviceA和serviceB端口份额。如果我设置它们的同一个端口上,然后我可以访问的第一个服务,我加,但是当我尝试访问加入到同一个端口,我得到以下错误的第二服务:

Metadata contains a reference that cannot be resolved: 'net.tcp://myserver/serviceB.svc'. The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was **. An existing connection was forcibly closed by the remote host If the service is defined in the current solution, try building the solution and adding the service reference again.

我不能工作出了什么问题。我已经做了主题搜索的很多,我已经确定了以下服务正在运行:

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

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

正如我刚才所说,如果设置了两个独立的端口的TCP服务运行正常,因此问题必须进行相关的端口共享。非常感谢您的任何建议

回答

3

OK,我发现我是有这个问题。在IIS中,我将每项服务设置为自己的网站,并试图让这些不同的网站共享端口。这是行不通的。

不过,我发现,如果我设置了只有一个网站,然后将我的服务的网站下seaprate应用程序,则端口共享会工作。这种方法可以让我在一个网站下有多种服务作为应用程序。