4

我正在使用一些旧代码(坦率地说,我不知道它的一半功能)试图将其移至 IIS7。

我看到的问题之一是我收到此错误:

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

如果我手动转到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security 并将该密钥的(安全)权限设置为让“每个人”都具有完全访问权限,这将没有问题。但显然这不是最佳解决方案。

有人知道消除此异常的更好方法吗?

4

2 回答 2

4

解决此问题的一种方法是在完全信任的情况下运行一个简单的控制台应用程序,该应用程序在有问题的源名称下写入单个 EventLog 条目。您必须为每台服务器执行一次

从那一刻起,您应该能够以该源名称登录。(至少这是我的观察。)它只是创建了一个在 ASP.NET 下无法执行的未知源,登录到现有源应该不是问题。

问题是:你知道源名称吗?如果你不这样做,暂时授予每个人的访问权限,等待日志消息,删除每个人也应该工作。

Microsoft 的官方方法是创建一个注册事件日志源的安装程序。

于 2009-08-11T17:53:28.783 回答
1

这个线程:

EventLog.CreateEventSource() 方法尝试在所有事件日志下搜索事件源,而不仅仅是要为其创建源的事件日志。有两种解决方案。第一个、最简单、最不安全的方法是授予对 ASP.NET 帐户的所有事件日志的读/写访问权限。

还提供了代码和其他解决方案。

于 2009-08-11T18:04:27.983 回答