有什麼方法可以確定哪些netNamedpipe通道當前打開?這將幫助我調試我的WCF客戶端/服務器,並確保我正確關閉我的頻道。查看當前打開的netNamedPipe通道?
這與網絡連接的netstat工具類似,但用於netNamedPipes。
有什麼方法可以確定哪些netNamedpipe通道當前打開?這將幫助我調試我的WCF客戶端/服務器,並確保我正確關閉我的頻道。查看當前打開的netNamedPipe通道?
這與網絡連接的netstat工具類似,但用於netNamedPipes。
沒有工具來做到這一點,據我所知。
您可以使用Process Explorer來查找進程所持有的命名管道對象的句柄,但這並不能真正回答您的問題。要識別爲WCF NetNamedPipeBinding通道創建的管道,您需要知道您在尋找什麼。 WCF管道將納入一個GUID在他們的名字,看起來像這樣:
\\.\pipe\197ad019-6e5f-48cb-8f88-02ae11dfd8c0
但是,句柄存在的事實本身並不告訴你任何有關該渠道的狀態。有一個用於管道連接的WCF池機制,所以即使通道被正確關閉,這也不能保證管道連接本身已經被丟棄並且釋放了句柄(儘管如果你看到一個進程逐漸獲取越來越多的句柄,會提示渠道清理可能存在問題)。
如果你想確認頻道正在清理,我建議你在詳細模式下啓用WCF追蹤:這將告訴你到底發生了什麼。
您可以使用進程資源管理器,看看有什麼管用進程打開:
SysInternals有一個名爲PipeList的命令。我相信你可以下載命令分別在這裏:
我在哪裏可以在這個程序中查看管道?我似乎無法找到它們。謝謝。 –
點擊您想要檢查的過程,選擇查看菜單 - >顯示下方窗格。它應該在那裏列出。 – Deleted