我有两个 Windows 服务,并且正在使用 nlogger 并在 Web 应用程序的两个服务中都收到此异常

问题描述 投票:0回答:1

这是两个事件查看器日志。 nlogger 显示空异常和授权问题。 我在两个服务中添加了 nlog.dll 、 config 、 xsd 文件。

第一:

Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException
   at Logging.NLogger..ctor()
   at PreIRGIService.PreIRGIService..ctor()
   at PreIRGIService.Program.Main()

第二:

Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.UnauthorizedAccessException
   at System.IO.__Error.WinIOError(Int32, System.String)
   at System.IO.FileStream.Init(System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean, Boolean, Boolean)
   at System.IO.FileStream..ctor(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32)
   at NLog.Internal.FileAppenders.BaseFileAppender.UpdateCreationTime()
   at NLog.Internal.FileAppenders.BaseFileAppender.TryCreateFileStream(Boolean, Int32)
   at NLog.Internal.FileAppenders.BaseFileAppender.CreateFileStream(Boolean, Int32)
   at NLog.Internal.FileAppenders.RetryingMultiProcessFileAppender.Write(Byte[], Int32, Int32)
   at NLog.Targets.FileTarget.WriteToFile(System.String, System.ArraySegment1<Byte>, Boolean)
   at NLog.Targets.FileTarget.ProcessLogEvent(NLog.LogEventInfo, System.String, System.ArraySegment`1<Byte>)
   at NLog.Targets.FileTarget.Write(NLog.LogEventInfo)
   at NLog.Targets.Target.Write(NLog.Common.AsyncLogEventInfo)
   at NLog.Targets.Target.WriteAsyncThreadSafe(NLog.Common.AsyncLogEventInfo)
   at NLog.Targets.Target.WriteAsyncLogEvent(NLog.Common.AsyncLogEventInfo)
   at NLog.LoggerImpl.WriteToTargetWithFilterChain(NLog.Targets.Target, NLog.Filters.FilterResult, NLog.LogEventInfo, NLog.Common.AsyncContinuation)
   at NLog.LoggerImpl.Write(System.Type, NLog.Internal.TargetWithFilterChain, NLog.LogEventInfo, NLog.LogFactory)
   at NLog.Logger.Info(System.String)
   at PreIRGIService.LogHelper.LogUsingNLog(PreIRGIService.TraceLevel, System.String)
   at PreIRGIService.LogHelper.LogDetails(System.String, System.String, System.String, System.String[])
   at PreIRGIService.PreIRGIService.CheckConfigurationSettings()
   at PreIRGIService.PreIRGIService..ctor()
   at PreIRGIService.Program.Main()
c# .net windows-services
1个回答
0
投票
  • 通过在配置文件中添加缺少的键和值解决了第一个问题。

  • 通过选择 Windows 服务上的登录选项卡并选择本地系统帐户解决了第二个问题。下面附上截图

WindowsService

© www.soinside.com 2019 - 2024. All rights reserved.