我在IIS和Windows Server 2003上托管的ASP.NET应用程序中使用NLog。当我在开发机器上运行代码时,一切都很好。但是当我将代码部署到服务器时。 NLog目标的初始化将导致安全异常:
安全例外 说明:应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请与您的系统管理员联系或在配置文件中更改应用程序的信任级别。
Exception Details: System.Security.SecurityException: Requested registry access is not allowed.
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[SecurityException:请求的注册表 不允许访问。]
System.ThrowHelper.ThrowSecurityException(ExceptionResource 资源)+51
Microsoft.Win32.RegistryKey.OpenSubKey(字符串 name,Boolean writable)+7462217
System.Diagnostics.EventLog.CreateEventSource(EventSourceCreationData sourceData)+366
NLog.Targets.EventLogTarget.CreateEventSourceIfNeeded() +637 NLog.Targets.EventLogTarget.InitializeTarget() +40 NLog.Targets.Target.Initialize()+264 NLog.Config.LoggingConfiguration.InitializeAll() 233
有什么人应该做什么才能给予申请适当的许可?谢谢!
答案 0 :(得分:2)
好的,我明白了。网络服务帐户没有读/写事件日志的权限。这就是抛出异常的原因。
答案 1 :(得分:0)
我以管理员身份运行我的应用程序,以便在EventLog
。