C# 什么是;已超过服务器实例的最大数量";什么意思?
System.IO.Pipes.NamedPipeServerStream类引发IOException,文档中说已超过最大服务器实例数。这个信息对我来说不是很清楚。有人能用我能理解的语言解释一下吗?这是否意味着相同的代码由两个不同的进程或类似的程序执行?如果这种情况很少发生,我怎么能避免呢 我正在使用以下构造函数:C# 什么是;已超过服务器实例的最大数量";什么意思?,c#,.net,pipe,named-pipes,namedpipeserverstream,C#,.net,Pipe,Named Pipes,Namedpipeserverstream,System.IO.Pipes.NamedPipeServerStream类引发IOException,文档中说已超过最大服务器实例数。这个信息对我来说不是很清楚。有人能用我能理解的语言解释一下吗?这是否意味着相同的代码由两个不同的进程或类似的程序执行?如果这种情况很少发生,我怎么能避免呢 我正在使用以下构造函数: int maxNumberServerInstance = 1; new NamedPipeServerStream(name, PipeDirection.InOut, maxNu
int maxNumberServerInstance = 1;
new NamedPipeServerStream(name, PipeDirection.InOut, maxNumberServerInstance , PipeTransmissionMode.Message, PipeOptions.None, bufferSize, bufferSize, pipeSecurity);
我得到IOException。让我们访问文档 例外情况
IOException
已超过服务器实例的最大数量
表示系统可以访问的最大服务器实例数
资源允许
备注
创建服务器时使用MaxAllowedServerInstances
NamedPipeServerStream对象以设置服务器的最大数量
系统资源允许的实例
简而言之,错误告诉您已创建了最大数量的实例
如果只使用了名称为的默认构造函数,则会得到此结果,此外,还会得到具有以下特征的管道:
- InOut的默认管道方向
- 共享相同名称的最大服务器实例数设置为1
- 字节的PipeTransmissionMode值
- PipeOptions值为“无”
- 默认输入和输出缓冲区大小
- 没有管道安全
- HandleInheritability值为None
- 没有指定其他PipeAccessRights
- 管道名称
String
- 管道的名称
- 方向
PipeDirection
- 确定管道方向的枚举值之一
- maxNumberOfServerInstances
Int32
- 共享相同名称的最大服务器实例数。可以为此值传递MaxAllowedServerInstances
最后,如果您遇到这个错误,并且您只有一个实例,那么您可能在如何创建它们方面有一个微妙的问题 请输入密码。。。因此,我们可以在完整的异常文本后看到您正在做什么,而不仅仅是类型名称和消息。您可以使用
Exception.ToString()
轻松获得它。这显示了实际抛出的方法以及导致该方法的调用堆栈。也发布代码。查看NamedPipeServerStream类的文档。请注意,它具有接受maxNumberOfServerInstances参数的构造函数。最大值。谢谢你的回答,我添加了我使用的构造函数。@BarışAkkurt好的,你打开的实例可能比你想象的要多