c# – EventSource vs EventProvider
作者:互联网
EventSource和EventProvider课程之间的主要区别是什么?
我理解这两个类都是ETW的事件提供者.如果两者之间没有关键差异,那么利弊是什么.
我使用EventSource类只是因为我在网上发现了更多的示例/文档,并且实现Channel支持(写入事件查看器中的默认通道 – 管理,操作,分析和调试)似乎更直接,因为EventRegister类自动创建清单(描述here).
解决方法:
在.NET 3.5中,EventProvider类是使用ETW进行跟踪的唯一选项.正如documentation所述,您必须为自定义事件创建一个Instrumentation Manifest文件,该文件描述了邮件中的数据类型.这不是一件容易的事,它需要使用单独的工具,例如Manifest Generator(ecmangen.exe).有关更多信息,请参阅this post.
EventSource类是在.NET 4.5中添加的,它引入了一个simpler approach来使用ETW编写自己的事件.它们不是创建这些清单文件,而是自动为您创建,从而节省了开销.
鉴于上述情况,我认为没有任何理由使用EventProvider.正如您所提到的,EventSource更具记录性且更易于使用.
标签:c,net,etw,event-viewer 来源: https://codeday.me/bug/20190627/1308221.html