未找到源,但无法搜索部分或全部事件日志。无法访问的日志:安全性[重复]

2024-04-18

我收到错误:

未找到源,但无法获取部分或全部事件日志 搜索过。无法访问的日志:安全

当我运行下面的代码来捕获 Win 2K12 R2 服务器 IIS 8.5 上的错误时

EventLog elog = new EventLog();
EventLog.CreateEventSource("MyApp", "Application");
EventLog.WriteEntry(Source, swError.ToString(), EventLogEntryType.Error);

我已授予完全访问权限HKLM\SYSTEM\CurrentControlSet\services\eventlog但它仍然不起作用。我该怎么做才能修复它?


See 创建注册表项 https://stackoverflow.com/questions/286060/what-do-i-need-to-change-to-alllow-my-iis7-asp-net-3-5-application-to-create-an/7848414#7848414.

出现此问题不仅是由于权限问题,还可能是由于未成功注册而导致事件源密钥丢失(您需要管理员权限才能执行此操作 - 如果您像往常一样打开 Visual Studio 并正常运行程序,则不会出现此问题)还不够)。确保您的事件源“MyApp”确实已注册,即它出现在注册表中的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application.

From MSDN EventLog.CreateEventSource() http://msdn.microsoft.com/en-us/library/2awhba7a%28v=vs.110%29.aspx:

在 Windows Vista 及更高版本或 Windows Server 中创建事件源 2003年,你必须有管理权限。

因此,您必须以管理员身份运行事件源注册代码(另外,检查源之前是否已存在 - 请参阅上面的 MSDN 示例),或者您可以手动将密钥添加到注册表中:

  1. 创建一个注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MyApp;
  2. 在里面,创建一个字符串值EventMessageFile并将其值设置为例如C:\Windows\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未找到源,但无法搜索部分或全部事件日志。无法访问的日志:安全性[重复] 的相关文章

随机推荐