2011-09-22 35 views
2

有什麼方法可以確定哪些netNamedpipe通道當前打開?這將幫助我調試我的WCF客戶端/服務器,並確保我正確關閉我的頻道。查看當前打開的netNamedPipe通道?

這與網絡連接的netstat工具類似,但用於netNamedPipes。

回答

0

沒有工具來做到這一點,據我所知。

您可以使用Process Explorer來查找進程所持有的命名管道對象的句柄,但這並不能真正回答您的問題。要識別爲WCF NetNamedPipeBinding通道創建的管道,您需要知道您在尋找什麼。 WCF管道將納入一個GUID在他們的名字,看起來像這樣:

\\.\pipe\197ad019-6e5f-48cb-8f88-02ae11dfd8c0 

here for more on this

但是,句柄存在的事實本身並不告訴你任何有關該渠道的狀態。有一個用於管道連接的WCF池機制,所以即使通道被正確關閉,這也不能保證管道連接本身已經被丟棄並且釋放了句柄(儘管如果你看到一個進程逐漸獲取越來越多的句柄,會提示渠道清理可能存在問題)。

如果你想確認頻道正在清理,我建議你在詳細模式下啓用WCF追蹤:這將告訴你到底發生了什麼。

0

您可以使用進程資源管理器,看看有什麼管用進程打開:

http://technet.microsoft.com/en-us/sysinternals/bb896653

+0

我在哪裏可以在這個程序中查看管道?我似乎無法找到它們。謝謝。 –

+0

點擊您想要檢查的過程,選擇查看菜單 - >顯示下方窗格。它應該在那裏列出。 – Deleted