現在、.NETでWindowsサービスを作成しています。名前付きパイプを使用して他のプロセスとサービスを通信しています。 NamedPipeServerStreamのより複雑なコンストラクターには、maxNumberOfServerInstancesというわかりやすい名前のパラメーターがあります。驚くばかり。しかし、それはどういう意味ですか?NamedPipeServerStreamクラスのmaxNumberOfServerInstancesの目的は何ですか?
MSDNのドキュメントも説明するのに有用である:
同じ名前を共有するサーバーインスタンスの最大数。
大丈夫です。それはまだ私にとって、あるいは私がそれをどのように利用するかを私には分かりません。 NamedPipeServerStreamが「接続を受け取ったときにこのコードを実行する」ための代理人も受け入れると、それぞれの「サーバーインスタンス」がそのコードを実行することになります。しかし、そうではありません。
私はそれがかなり正しいとは思わない。複数のクライアントを同じパイプインスタンスに接続することはできません(同様に、.NET NamedPipeServerStreamインスタンスは一度に1つのクライアントにのみ接続します)。したがって、この引数に1を使用したサービスは、すべてのクライアント要求をシリアル化します。むしろ、接続プールのサイズに似ていると考えてください。サービスでは、処理できる真の同時クライアント要求の数に設定する必要があります。 –