【发布时间】:2014-09-26 09:13:32
【问题描述】:
在理想情况下,获取命名管道列表非常简单,可以在这里找到: How can I get a list of all open named pipes in Windows?
但提到了解决方案
var namedPipes = Directory.GetFiles(@"\\.\pipe\");
偶尔会出现不可预知的结果。上面的链接中提到了其中之一(路径异常中的无效字符)。今天我遇到了自己的例外:
ArgumentException "第二个路径片段不能是驱动器或 UNC 名称。参数名称:path2"。
问题是.net 中是否有任何真正可行的解决方案来获取所有打开的命名管道的列表?谢谢
【问题讨论】:
-
使用 pipelist.exe (technet.microsoft.com/en-us/sysinternals/dd581625.aspx) 我发现破坏我的代码的管道被命名为:“D:\Virtuals\Windows 8.1 x64 Professional\Windows 8.1 x64 Professional.vmx”。如果我关闭我的虚拟测试机一切正常。但是,其他任何人都可以使用这种管道名称。因此我的问题仍然存在
-
这个问题在 .NET 中已经修复了吗?我只能在面向 .NET 3.5 或更早版本时重现它,即使在 Windows 7 上也不行。
标签: c# .net named-pipes