簡體   English   中英

“已超過服務器實例的最大數量”是什么意思?

[英]What does "The maximum number of server instances has been exceeded" mean?

System.IO.Pipes.NamedPipeServerStream 類拋出 IOException 並且文檔說已超過最大服務器實例數。 這個消息對我來說不是很清楚。 有人可以用我能理解的方式解釋它嗎? 這是否意味着兩個不同的進程或類似的東西正在執行相同的代碼? 如果很少發生,我該如何避免?

我正在使用以下構造函數:

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

我得到 IOException。

讓我們訪問文檔。

NamedPipeServerStream 類

例外

IOException已超出服務器實例的最大數量。

NamedPipeServerStream.MaxAllowedServerInstances 字段

表示系統資源允許的最大服務器實例數。

評論

在創建 NamedPipeServerStream 對象時使用 MaxAllowedServerInstances 來設置系統資源允許的最大服務器實例數。

簡而言之,錯誤告訴您已經創建了最大數量的實例。

如果您僅使用帶有名稱的默認構造函數,您將獲得此信息,此外,您還將獲得一個具有以下特征的管道:

  • InOut 的默認管道方向。

  • 共享相同名稱的最大服務器實例數設置為 1。

  • Byte 的 PipeTransmissionMode 值。

  • 無的 PipeOptions 值。

  • 默認輸入和輸出緩沖區大小。

  • 沒有管道安全。

  • None 的 HandleInheritability 值。

  • 沒有指定額外的 PipeAccessRights。

如果需要多個實例,至少需要使用以下構造函數:

NamedPipeServerStream(String, PipeDirection, Int32)

參數

  • 管道名稱String

    • 管道的名稱。
  • 方向PipeDirection

    • 確定管道方向的枚舉值之一。
  • maxNumberOfServerInstances Int32

    • 共享相同名稱的服務器實例的最大數量。 您可以為此值傳遞 MaxAllowedServerInstances。

最后,如果您收到此錯誤並且您只有一個實例,則您的創建方式可能存在微妙的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM