私はクライアントとサーバーのシナリオを持っています。ここでは、サービスがクライアントにインストールされ、別のサービスがサーバーにインストールされます。これらが別のマシンにインストールされている場合、私は問題はありません。ただし、クライアントサービスとサーバーサービスの両方を同じマシンにインストールすることもできます。別のポートを使用するように設定することもできますが、単一のポートを使用してこれを実現したいと考えています。異なるエンドポイントアドレスを使用する場合、2つのアプリケーションが同じWCF NetTcpBindingポートを共有できますか。
Net.Tcp Port Sharing Service Windowsサービスを有効にして開始しました。まずサーバーサービスを起動します。私はクライアントサービスを開始しようとすると、私はserviceHost.Open()を実行すると、次の例外を取得:
The TransportManager failed to listen on the supplied URI using the NetTcpPortSharing service: the URI is already registered with the service.
は、以下のソースコードです。
サーバーサービス:
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