我有一个循环运行的程序,每次迭代都在不同的线程中运行,我正在创建打开新服务主机的新进程:
ServiceHost _host = new ServiceHost(_service, new Uri("net.pipe://localhost/" + i_PipeName));
_host.AddServiceEndpoint(typeof(ICommandService), new NetNamedPipeBinding() { TransferMode = TransferMode.Buffered }, i_PipeName);
_host.Open();
从我的主程序中,我通过以下方式连接到开放的 .net 管道:
ICommandService ServiceProxy = ChannelFactory<ICommandService>.CreateChannel
(new NetNamedPipeBinding(), new EndpointAddress(@"net.pipe://localhost/" + i_PipeName" + @"/" + i_PipeName));
所以我的问题是,对于前 200 多个过程/迭代它工作正常,我可以打开连接并传递消息,但后来开始出现错误:
在 net.pipe://localhost/pipea0360/pipea0360 上没有可以接受消息的端点侦听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。
我的问题是我可以并行打开的管道数量是否有任何限制?
这是因为我打开了很多进程吗?