什么是“服务器实例的最大数目已经超过了”是什么意思?

问题描述 投票:-1回答:1

System.IO.Pipes.NamedPipeServerStream类抛出IOException异常和文档说服务器实例的最大数量已超出。这个消息对我来说并不很清楚。有人可以解释它在我而言能理解吗?这是否意味着相同的代码是由两种不同的工艺或类似的东西执行?如何避免它,如果它很少发生?

我使用下面的构造函数:

int maxNumberServerInstance = 1;
new NamedPipeServerStream(name, PipeDirection.InOut, maxNumberServerInstance , PipeTransmissionMode.Message, PipeOptions.None, bufferSize, bufferSize, pipeSecurity);

我得到IOException异常。

c# .net pipe named-pipes namedpipeserverstream
1个回答
0
投票

让我们去的文档。

NamedPipeServerStream Class

例外

IOException服务器实例的最大数量已超出。

NamedPipeServerStream.MaxAllowedServerInstances Field

表示服务器实例,系统资源允许的最大数量。

备注

创建NamedPipeServerStream对象设置服务器实例,系统资源允许的最大数量时使用MaxAllowedServerInstances。

总之错误是告诉你的实例的最大数量已创建。

你会得到这个,如果你使用了默认的构造函数只有名字,此外,您会得到一个管具有以下特点:

  • 的InOut的默认管方向。
  • 共享相同的名称设置为1的服务器实例的最大数目。
  • 字节的PipeTransmissionMode值。
  • 无的PipeOptions值。
  • 默认输入和输出缓冲区的大小。
  • 无管安全。
  • 无的HandleInheritability值。
  • 没有指定的其他PipeAccessRights。

您至少会想,如果你需要一个以上的实例使用下面的构造函数:

NamedPipeServerStream(String, PipeDirection, Int32)

参数

  • pipeName String 该管道的名称。
  • 方向PipeDirection 一个用于确定管道的方向上的枚举值。
  • maxNumberOfServerInstances Int32 共享同一名称的服务器实例的最大数目。你可以通过MaxAllowedServerInstances该值。

最后,如果你得到这个错误,你只有一个实例,你可能有你如何创建它们一个微妙的问题。

© www.soinside.com 2019 - 2024. All rights reserved.