加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – “无法找到源Y中事件ID X的描述.”

发布时间:2020-12-15 21:52:07 所属栏目:百科 来源:网络整理
导读:我正在尝试将自定义事件从我的Web应用程序写入 Windows事件日志.我没有运气使消息字符串工作,我一直得到“无法找到源Y中的事件ID X的描述.” 在尝试缩小范围时,我决定将事件写入我的机器上已存在的源.我只看了一个已经写出来的事件,特别是SceCli事件1704. 我
我正在尝试将自定义事件从我的Web应用程序写入 Windows事件日志.我没有运气使消息字符串工作,我一直得到“无法找到源Y中的事件ID X的描述.”

在尝试缩小范围时,我决定将事件写入我的机器上已存在的源.我只看了一个已经写出来的事件,特别是SceCli事件1704.

我执行以下代码:

var log = new EventLog("Application");
log.Source = "SceCli";

var ev = new EventInstance(1704,EventLogEntryType.Information);
log.WriteEvent(ev);

但是,这仍然在事件查看器中提供以下内容:

无法找到源(SceCli)中的事件ID(1704)的描述.本地计算机可能没有必要的注册表信息或消息DLL文件来显示来自远程计算机的消息.您可以使用/ AUXSOURCE =标志来检索此描述;请参阅帮助和支持以获取详细信以下信息是事件的一部分:事件日志文件已损坏.

我不确定我在这里缺少什么.我正在写出已经存在的完全相同的事件,但它仍然无法找到消息字符串.

解决方法

我也遇到过类似的问题.经过大量的研究后,我做了以下我根据这篇文章验证了步骤 http://www.codeproject.com/Articles/4166/Using-MC-exe-message-resources-and-the-NT-event-lo一切似乎都已到位.除了一件事……当我偶然发现这个msdn http://msdn.microsoft.com/en-us/library/windows/desktop/aa363661(v=vs.85).aspx时,我意识到了这一点

如上一段所述..’如果应用程序调用RegisterEventSource并传递在注册表中找不到的源名称,则事件日志记录服务默认使用应用程序日志.但是,由于没有消息文件,因此事件查看器无法将任何事件标识符或事件类别映射到描述字符串,并且将显示错误.因此,您应该为应用程序的注册表添加一个唯一的事件源,并指定一个消息文件.因此,我在RegisterEventSource中的应用程序名称与注册表中的应用程序名称不匹配.我修复此问题,现在它可以工作……所以如果您遇到此问题,请仔细检查您的注册表项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读