有什么方法可以确定哪些netNamedpipe频道当前是打开的?这将帮助我调试我的WCF客户端/服务器,并确保我正确关闭我的频道。
这类似于网络连接的netstat工具,但是对于netNamedPipes而言。
答案 0 :(得分:0)
您可以使用Process Explorer查看进程已打开的管道:
答案 1 :(得分:0)
据我所知,没有工具可以做到这一点。
您可以使用Process Explorer查找进程所持有的命名管道对象的句柄,但这不会真正回答您的问题。要识别为WCF NetNamedPipeBinding渠道创建的管道,您需要知道要查找的内容。 WCF管道将在其名称中包含GUID,如下所示:
\\.\pipe\197ad019-6e5f-48cb-8f88-02ae11dfd8c0
但是,句柄存在的事实本身告诉您有关通道状态的任何信息。管道连接有一个WCF池机制,所以即使通道正确关闭,也不能保证管道连接本身已被删除并释放句柄(尽管如果你看到一个进程逐渐获得越来越多的句柄,会建议频道清理可能存在问题。)
如果您想确认正在及时清理频道,我建议您在详细模式下启用WCF跟踪:这将告诉您具体情况。
答案 2 :(得分:0)
SysInternals有一个名为PipeList的命令。我相信你可以在这里单独下载命令: