gpt4 book ai didi

.net - EventLog.WriteEntry 和 EventLog.WriteEvent 方法之间的区别

转载 作者:行者123 更新时间:2023-12-03 07:50:16 25 4
gpt4 key购买 nike

我尝试使用 WriteEntryWriteEvent EventLog 的方法类(class)。

EventLog.WriteEntry("Saravanan", "Application logs an entry", 
EventLogEntryType.Information, 2, 3);
EventLog.WriteEvent("Saravanan", new EventInstance(2, 3),
"Application logs an event");

两者输出相同的结果。

这些方法的用法有什么区别吗?

如果只有细微差别,为什么不通过重载 WriteEvent() 来完成?或 WriteEntry()方法,而不是引入新方法?

最佳答案

EventLog.WriteEntry是一种写入事件日志的“快速而肮脏”的方式,您可以在其中写入字符串。 EventLog.WriteEvent使您能够充分利用 native Win32 API。但是,要做到这一点,您应该创建一个本地化的消息文件,然后使用 message compiler (mc.exe) 进行编译。 .每个事件都可以包含替换字符串,并且可以进行本地化以匹配计算机上的区域设置。

为了避免创建消息文件的额外步骤,事件日志 API 的 .Net 包装器使用消息,只需插入作为参数提供的字符串。这些消息由 EventLog.WriteEntry 使用并作为嵌入式资源存储在 EventLogMessages.dll 中在 .Net 文件夹中。

通常使用 EventLog.WriteEntry足够了,但是如果您需要本地化您的消息或想要在源代码之外维护它们,您应该创建一个消息文件并使用 EventLog.WriteEvent .

关于.net - EventLog.WriteEntry 和 EventLog.WriteEvent 方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3599762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com