【发布时间】:2015-02-23 15:32:03
【问题描述】:
我正在使用 WCF NetNamedPipeBinding 编写进程间通信。
我的目标是让服务在“net.pipe://localhost/service”运行,所以我运行最简单的主机:
host = new ServiceHost(contract, new Uri[] { "net.pipe://localhost" });
host.AddServiceEndpoint(typeof (IContract),
new NetNamedPipeBinding(), "service");
host.Open();
根据http://blogs.msdn.com/b/rodneyviana/archive/2011/03/22/named-pipes-in-wcf-are-named-but-not-by-you-and-how-to-find-the-actual-windows-object-name.aspx 该名称隐藏在系统生成的 guid 后面。
问题来了。
是否有任何可能的方法可以在我的程序中获取系统(guid)生成的名称,所以我可以像在 procexp 中一样获得类似“\Device\NamedPipe\GUID”的路径,这样更容易嗅探它? (除了在单独的进程中运行 sys internals 可执行文件并解析其输出?)
【问题讨论】:
标签: c# .net wcf wcf-binding named-pipes