WCF 名前付きパイプ通信: 最小限の例
質問: を利用する単純な WCF アプリケーションを作成するにはどうすればよいですか?名前付きパイプcommunication?
回答:
WCF で名前付きパイプ経由の通信を確立するには、次の手順が必要です:
サーバー構成:
<endpoint address="net.pipe://localhost/[pipe_name]" binding="netNamedPipeBinding" bindingConfiguration="" contract="ICalculator" name="NetNamedPipeBinding_ICalculator"> </endpoint>
// Create a URI using the named pipe format Uri baseAddress = new Uri("net.pipe://localhost/[pipe_name]"); // Create a service host ServiceHost selfHost = new ServiceHost(typeof(CalculatorService), baseAddress); // Add the service endpoint using the netNamedPipeBinding selfHost.AddServiceEndpoint(typeof(ICalculator), new NetNamedPipeBinding(), "CalculatorServicePipe"); // Enable metadata exchange for hosting ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); smb.HttpGetEnabled = true; selfHost.Description.Behaviors.Add(smb);
クライアント構成:
// Create a client endpoint for the pipe EndpointAddress endpoint = new EndpointAddress($"net.pipe://localhost/[pipe_name]", endpoint_uri); // Create a new client channel factory ChannelFactory<ICalculator> channelFactory = new ChannelFactory<ICalculator>(new NetNamedPipeBinding(), endpoint); // Obtain a client proxy ICalculator client = channelFactory.CreateChannel();
これらの変更により、WCF アプリケーションが指定された名前付きパイプを介して通信できるようになります。サーバーとクライアント アプリケーション間の直接通信が可能になります。
以上が名前付きパイプを使用して最小限の WCF アプリケーションを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。