【问题标题】:How can I attach an EventListener to an EventSource in another process?如何在另一个进程中将 EventListener 附加到 EventSource?
【发布时间】:2013-09-29 13:16:17
【问题描述】:

我正在尝试将侦听器附加到正在运行的进程,该进程使用EventSource 来跟踪处理事件。我已经通过从EventListener 继承来创建自己的侦听器,并且(可能)需要调用EnableEvents 来开始接收信息。

所有重载的第一个参数是EventSource,用于配置和发送消息,但我不清楚当它需要识别外部进程中的事件源时如何组合该实例。

我只是把它作为一个概念验证,所以代码在控制台应用程序中运行,TestEventListener 只是尝试将事件写入控制台窗口。

EventSource source = null;

using (var listener = new TestEventListener())
{
    listener.EnableEvents(source, EventLevel.Verbose);

    Console.ReadKey();
}

【问题讨论】:

    标签: c# trace system.diagnostics


    【解决方案1】:

    不幸的是,EventListener 类不跨进程,甚至跨 AppDomains。这不是 EventListener 类的目的。

    相反,我建议您使用即将推出的(很可能是来自 MSFT 的官方支持的 ETW“阅读器”库)——

    http://www.nuget.org/packages/Microsoft.Diagnostics.Tracing.TraceEvent

    当您使用它时,请查看 --http://oculus.codeplex.com/(这与 TraceEvent 非常相似,但有一堆不同的生成代码特殊 windows 事件)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多