22
写入事件日志时出现System.Security.SecurityException
我正在尝试将ASP.NET应用程序从Server 2003(和IIS6)移植到Server 2008(IIS7)。 当我尝试在浏览器上访问页面时,我得到以下信息: “ /”应用程序中的服务器错误。 安全例外 说明:应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系或在配置文件中更改应用程序的信任级别。 异常详细信息:System.Security.SecurityException:找不到源,但是无法搜索某些或所有事件日志。无法访问的日志:安全性 源错误: 当前Web请求的执行期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来标识有关异常的来源和位置的信息。 堆栈跟踪: [SecurityException:找不到源,但是无法搜索某些或所有事件日志。无法访问的日志:安全性。] System.Diagnostics.EventLog.FindSourceRegistration(字符串源,字符串machineName,布尔型readOnly)+562 System.Diagnostics.EventLog.SourceExists(字符串源,字符串machineName)+251 [片段] 这些是我为尝试解决该问题所做的事情: 授予“所有人”对密钥的完全访问权限HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security。这工作了。但是自然地,我无法在生产中做到这一点。因此,在运行应用程序几分钟后,我删除了“所有人”权限,并且错误再次出现。 我在安装期间使用提升的权限在“应用程序”日志和“安全性”日志中创建了源(并通过regedit验证了它的存在),但错误仍然存在。 我在web.config文件中(并使用appcmd.exe)为该应用程序赋予了完全信任级别,但无济于事。 有没有人知道在这里可以做什么? PS:这是此问题的后续措施。我遵循了给出的答案,但无济于事(请参阅上面的2)。