1

我已经写了:

.
.
.
//Log exception to the event log
if (!EventLog.SourceExists("PodaHIS")) {
    EventLog.CreateEventSource("PodaHIS", "Application");   
}

EventLog eventLog = new EventLog();
eventLog.Log = "Application";
eventLog.Source = "PodaHIS";
eventLog.WriteEntry(error.ToString(), EventLogEntryType.Error);

我还启用了对 LOCALMACHINE\ASPNET 的读取权限。

作为回报,我得到:

The source was not found, but some or all event logs could not be searched. Inaccesible logs: Security.

有谁知道为什么会这样?

4

5 回答 5

3

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog

需要做的是授予 EventLog Key 读取权限的“ Security ”子键。之后我重新启动了我的 IIS。

于 2009-12-15T11:27:19.927 回答
1

此知识库文章解释了为您的 ASP 进程提供正确的安全权限以写入事件日志所需的步骤...

KB

于 2009-12-15T10:55:28.163 回答
1

如果您对要写入事件日志的框具有权限,则可以运行我编写的脚本

于 2012-05-01T20:36:39.120 回答
0

我认为在事件日志中创建源需要更高级别的访问权限。对安全日志的引用可能是巧合,它只是将其报告为可能的原因。如果您以管理员身份进入并自己创建 PodaHIS 源,您可能会发现它可以写入它。

于 2009-12-15T08:59:43.233 回答
0

你的部署环境是什么?如果是 Vista/Server 2008,那么由于 UAC,将工作帐户添加到管理员组将不起作用。

这个链接详细解释了这个问题。但我建议尝试手动创建事件源,这样 ASPNET 就不需要创建它了……

于 2009-12-15T11:40:59.490 回答