我正在尝试将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)。