确定计时器是否正在运行
本文关键字:运行 是否 计时器 | 更新日期: 2023-09-27 17:58:03
在这个链接中,它显示了如何确定计时器是否正在运行。对我来说,它不起作用。
我在静态类中声明了计时器,如所示
public static class ServiceGlobals // Globals
{
public static System.Timers.Timer _timer = new System.Timers.Timer();
}
}
在我的服务启动时,我设置了计时器属性
protected override void OnStart(string[] args)
{
ServiceGlobals._timer.AutoReset = false;
ServiceGlobals._timer.Interval = (3000);
ServiceGlobals._timer.Elapsed += new System.Timers.ElapsedEventHandler(_timer_Elapsed);
ServiceGlobals._timer.Enabled = true;
ServiceGlobals._timer.Start(); // Start timer
}
然后我检查它是否在我的一个方法中运行,但即使它在运行,代码也总是错误的
if (ServiceGlobals._timer.Enabled) // Check if the timer is running
{
// Return error.........
}
您一定错过了链接的线程的这一部分:
"如果Timer.AutoReset为true,则在计时器第一次到期时,Enabled(启用)将自动设置为false。"