当我的主方法在Windows服务中运行时,我应该让我的计时器进入睡眠状态

时间:2008-12-19 19:46:10

标签: .net windows-services timer

在我的.net windows服务中,当我的计时器过去并调用我的main方法时,最好将计时器置于睡眠模式吗?

这是因为我的main方法运行时间太长,并且在前一次调用main方法完成执行之前计时器已经过去。

2 个答案:

答案 0 :(得分:1)

这不是一个“主要方法”,但我想你只是指由于已经过去的事件而被调用的方法。这取决于。你是否需要它来运行每个时间间隔,或者你只需​​要在每个时间间隔开始进程,如果它已经运行,不要做任何事情。

如果后者是这种情况,正如我所怀疑的那样,因为你问这个问题,那么请继续将你的计时器作为经过事件处理程序中的第一个语句停止。然后在完成“main方法”中的所有其他操作后再次启动计时器。

答案 1 :(得分:1)

除了BobbyShaftoe提到的内容之外,我还建议使用try / catch / finally块并将代码放入finally块中重启计时器。因此,如果异常发生,您的计时器仍将重新启动并稍后运行。除非你希望它无限期地停止。