c# – 为什么EventRecord.FormatDescription()返回null?
发布时间:2020-12-15 06:51:11 所属栏目:百科 来源:网络整理
导读:当使用System.Diagnostics.Eventing.Reader.EventLogQuery从 Windows事件日志中读取事件时,EventRecord.FormatDescription()方法有时返回null.为什么是这样?在事件查看器中有关于返回null的事件的消息. 解决方法 这是由于.NET框架中的一个错误. 基本上你需
当使用System.Diagnostics.Eventing.Reader.EventLogQuery从
Windows事件日志中读取事件时,EventRecord.FormatDescription()方法有时返回null.为什么是这样?在事件查看器中有关于返回null的事件的消息.
解决方法
这是由于.NET框架中的一个错误.
基本上你需要做的是解决这个错误是将CurrentCulture设置为“en-US”. 例: var beforeCulture = Thread.CurrentThread.CurrentCulture; try { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); using (var session = new EventLogSession(ipOrAddress,userDomain,username,password,SessionAuthentication.Default)) { var query = new EventLogQuery("System",PathType.LogName,queryString) { ReverseDirection = true,Session = session }; using (var reader = new EventLogReader(query)) { for (var record = reader.ReadEvent(); record != null; record = reader.ReadEvent()) { // Read event records string message = record.FormatDescription(); } } } } finally { Thread.CurrentThread.CurrentCulture = beforeCulture; } 这种解决方法很难找到,所以我以为我会把它记录在一个由Google索引的地方.我发现它在一个旧的MS Connect case,但已被关闭,状态为“不修复”. 更新: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |