我有一个 System.Timers.Timer 在我调用 Stop() 方法时随机抛出 NullReferenceException。这可能发生在一个工作日大约 4 次。我已经看到该问题在多台计算机上重复出现。
void myTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (myTimer != null) //trying to stop the exception here
{
myTimer.Stop(); //Null Reference Exception occurs here
DoStuff();
myTimer.Start();
}
}
堆栈如下所示:
最奇怪的是,我可以立即从异常位置再次启动程序,没有任何问题。