我已经在C#中创建了Windows服务,并创建了系统计时器,并在OnStart()方法中启动了它。当我在PC中上传服务时出现问题。我确实调试了它,所以问题是当OnStart方法启动计时器时,计时器中任何方法(DBinsert方法)中的所有代码都将继续无穷大(第1行,第2行,.....第15行,然后再次进入第1行..)如何我解决了吗?
closedir
答案 0 :(得分:1)
我将其发布为答案,以便我可以发布一些代码。如果您不熟悉,这就是我在评论中提到条件编译时的意思:
private void tmr_Elapsed(object sender, ElapsedEventArgs e)
{
#if DEBUG
tmr.Stop();
#endif
DBconnection.DBinsert();
#if DEBUG
tmr.Start();
#endif
}
请注意,即使您不调试该事件处理程序,它仍然会停止并启动Timer
,因此这意味着您的时间间隔实际上会比5秒长一点,但是我对此表示怀疑太大了。您随时可以在Debug中将Interval
中的Timer
设置为稍小的值,以在需要时进行补偿。