現在開いているnetNamedpipeチャネルを特定する方法はありますか?これは、WCFクライアント/サーバーをデバッグし、チャネルを適切に閉じていることを確認するのに役立ちます。
これは、ネットワーク接続用のnetstatツールに似ていますが、代わりにnetNamedPipes用です。
現在開いているnetNamedpipeチャネルを特定する方法はありますか?これは、WCFクライアント/サーバーをデバッグし、チャネルを適切に閉じていることを確認するのに役立ちます。
これは、ネットワーク接続用のnetstatツールに似ていますが、代わりにnetNamedPipes用です。
Process Explorerを使用して、プロセスが開いているパイプを確認できます。
私の知る限り、これを行うためのツールはありません。
Process Explorerを使用して、プロセスが保持している名前付きパイプオブジェクトのハンドルを見つけることができますが、これでは実際には質問に答えることはできません。WCF NetNamedPipeBindingチャネル用に作成されたパイプを認識するには、探しているものを知る必要があります。WCFパイプには、名前にGUIDが組み込まれ、次のようになります。
\\.\pipe\197ad019-6e5f-48cb-8f88-02ae11dfd8c0
詳細については、こちらをご覧ください。
ただし、ハンドルが存在するという事実自体は、チャネルの状態について何も教えてくれません。パイプ接続用のWCFプーリングメカニズムがあるため、チャネルが適切に閉じられていても、パイプ接続自体が削除され、ハンドルが解放されていることを保証するものではありません(ただし、プロセスが徐々に多くのハンドルを取得する場合は、チャネルのクリーンアップに問題がある可能性があることを示唆します)。
チャネルがすぐにクリーンアップされていることを確認したい場合は、冗長モードでWCFトレースを有効にすることをお勧めします。これにより、何が起こっているかが正確にわかります。
SysInternalsには、PipeListというコマンドがあります。ここでコマンドを個別にダウンロードできると思います。