我们有一个.NET程序,它使用WCF来侦听来自另一个进程的通信.我们使用命名管道.
ServiceHost host = new ServiceHost(
typeof(Something),
new Uri[]
{
new Uri("net.pipe://localhost")
});
host.AddServiceEndpoint(typeof(ISomething), new NetNamedPipeBinding(), "Something");
host.Open();
Run Code Online (Sandbox Code Playgroud)
代码工作得很好,直到安装了第三方.NET程序.现在打开失败,显示"无法监听管道名称'net.pipe:// localhost /',因为另一个管道端点已经在侦听该名称."
我的假设是其他程序已经在使用命名管道.是否有解决方法或计算机上只有一个程序使用命名管道?我从其他问题中得到印象,你可以为管道设置一个"名称",这样它就不会与其他进程发生冲突,你是怎么做到的?