我在Windows服务中使用System.Threading.Timer
来执行例行任务。回调方法中抛出的未处理异常是否会使服务崩溃?我在网上搜索,找不到任何有用的链接。
我在事件日志中遇到此异常,服务崩溃。
at MyNameSpace.MyClass.MyCallback(System.Object)
at System.Threading.ExecutionContext.runTryCode(System.Object)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading._TimerCallback.PerformTimerCallback(System.Object)
任何关于此的MSDN文章指示都将不胜感激。
答案 0 :(得分:0)
从异常处理的角度来看,服务的行为与任何其他应用程序一样 工作线程也是如此,它执行计时器的回调。
如果未处理异常,则没有理由继续申请。该服务将被终止。