在 WCF 中使用命名管道:一个最小示例
问题:
如何建立使用命名管道在 WCF 服务器和客户端之间进行最少的通信,替换 HTTP 端点和元数据交换
答案:
配置服务器端点:
将提供的 HTTP 端点配置替换为以下命名管道配置:
<endpoint address="net.pipe://localhost/CalculatorService" binding="netNamedPipeBinding" contract="ICalculator" name="NetNamedPipeBinding_ICalculator"> <identity> <userPrincipalName value="OlegPc\Oleg" /> </identity> </endpoint>
主持服务:
修改服务托管代码以使用命名管道:
// Use NetNamedPipeBinding instead of WSHttpBinding ServiceHost selfHost = new ServiceHost(typeof(CalculatorService)); selfHost.AddServiceEndpoint( typeof(ICalculator), new NetNamedPipeBinding(), "CalculatorService");
生成客户端:
删除所有相关代码到 HTTP 并将其替换为以下特定于管道的代码:
// Use NetNamedPipeBinding instead of WSHttpBinding Binding binding = new NetNamedPipeBinding(); EndpointAddress endpoint = new EndpointAddress("net.pipe://localhost/CalculatorService");
示例项目:
请参阅链接教程,了解展示 WCF 中命名管道通信的完整示例项目。您可以通过删除与 HTTP 相关的代码来调整此项目,以创建一个最小的仅管道示例。
以上是如何使用命名管道最小化 WCF 通信?的详细内容。更多信息请关注PHP中文网其他相关文章!