计时器在Windows服务中停止

时间:2015-06-06 21:59:34

标签: .net windows c#-4.0 service timer

我的内部有Windows ServiceSystem.Timers.Timer。计时器的AutoReset属性设置为false,计时器的Elapsed event内的代码包含在try..catch..finally块中:

try
{
    Parallel.ForEach (...) 
        {
            DoSomeAction();
        }
}
catch
{
    LogException(...);
}
finally
{
    // _timer is the System.Timers.Timer
    _timer.Start();
}

DoSomeAction()方法还通过Task.Run方法运行一些并发操作。

我理解.NET的计时器会吞下异常但是因为整个代码都包含在try ... catch ... finally块中我希望一旦异常被引发,finally块会再次重启计时器但是它会不会发生。因此,我们必须不断观看此Windows服务并每天重新启动几次!

我的猜测是其中一个线程发生了异常但是try..catch块无法捕获它?

0 个答案:

没有答案