我有两个WCF服务,每个服务都在自己的控制台应用程序中托管。
它们托管在以下位置:
net.tcp://computername:7777/Service1
net.tcp://computername:7777/Service2
每个都有自己的合约。 我希望它们使用相同的端口,因此我在这个主题上阅读了很多内容,并执行了以下操作:
1. 启用了网络TCP端口共享服务。 2. 使用以下命令注册url`s:
netsh http add urlacl user=domain\username url=net.tcp://+:7777/Service1
netsh http add urlacl user=domain\username url=net.tcp://+:7777/Service2
3. 为每个 WCF 服务启用 PortSharingEnabled=true 绑定 4. 在单独的控制台应用程序中托管每个服务。
如果我启动两个控制台应用程序,第二个应用程序总是在调用主机的 Open() 方法时引发此异常:
AddressAlreadyInUseException. The transport manager failed to listen on the supplied
URI using the NetTcpPortSharing service: the URI is already registered with the
service.
当我将它们都托管在同一个控制台应用程序中时,它都可以正常运行。
我的问题是:如何在每个服务都托管在自己的控制台应用程序中时使其正常工作。