使计时器经过事件休眠

时间:2011-02-22 12:50:56

标签: c# timer

我正在使用计时器已用事件进行自动数据库备份,计时器将每隔5秒检查一次,当前时间等于app.config中给出的时间时,将发生数据库备份。我希望在备份发生时立即让计时器再次检查。任何人都可以帮助我。

3 个答案:

答案 0 :(得分:1)

如果使用Sytem.Timers.Timer对象,则执行

timer.Stop()

作为已用事件的第一行,然后执行备份,然后执行

timer.Start()

最后重启事件。

如果使用System.Threading.Timer,请使用

timer.Change(Timeout.Infinite, Timeout.Infinite)

然后使用适当的值重新启动它。

答案 1 :(得分:1)

  

一旦当前时间等于app.config中给出的时间,就会发生数据库备份

这有一个不起作用的诀窍。配置可以说10:05:00,计时器在10:04:58和10:05:03过去。每5秒触发一次计时器是没有意义的。只需点燃一次。备份到期时。如果用户更改了截止时间,请停止并重新启动计时器以使用更改的TimeSpan。

答案 2 :(得分:0)

备份运行时暂停计时器。

否则..(不确定您使用的DBS)为什么不使用SQL Server代理作业?