我有一個客戶端和服務器方案,其中一個服務安裝在客戶端上,另一個服務在服務器上。當這些安裝在不同的機器上時,我沒有任何問題。但是,我希望能夠在同一臺計算機上同時安裝客戶端服務和服務器服務。我可以將它們設置爲使用不同的端口,但是我希望使用單個端口來完成此操作。如果兩個應用程序使用不同的端點地址,兩個應用程序可以共享相同的WCF NetTcpBinding端口嗎?
我已啓用並啓動Net.Tcp端口共享服務Windows服務。我首先啓動服務器服務。當我嘗試啓動客戶服務,我在執行serviceHost.Open()出現以下情況例外:
The TransportManager failed to listen on the supplied URI using the NetTcpPortSharing service: the URI is already registered with the service.
下面是源代碼。服務器和客戶端使用不同的端點地址如下:
Server服務:
ServiceHost serviceHost = new ServiceHost(typeof(ServerService),
new Uri("net.tcp://localhost:50000");
NetTcpBinding binding = new NetTcpBinding();
serviceHost.AddServiceEndpoint(typeof(IServerService),
binding, "ServerService");
serviceHost.Open();
客戶服務:
ServiceHost serviceHost = new ServiceHost(typeof(ClientService),
new Uri("net.tcp://localhost:50000");
NetTcpBinding binding = new NetTcpBinding();
serviceHost.AddServiceEndpoint(typeof(IClientService),
binding, "ClientService");
serviceHost.Open();
此頁面不再可用,請在此分享您的解決方案? – cguedel 2013-09-27 21:51:44