_timer = new Timer();
_timer.Interval = 60 * 60 * 1000; //一个小时
_timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed);
_timer.Enabled = true;
}
void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
if (DateTime.Now < _nextExecuteTime)
return;
try
{
Run();
_nextExecuteTime = DateTime.Now.AddDays(1).Date;
}
catch (Exception ex)
{
Logger.ErrorWithFormat("Failed to start timer. ex:{0}. ", ex.Message + ex.StackTrace);
_nextExecuteTime = DateTime.Now.AddHours(1);
}
}

本文介绍了一种使用C#实现定时任务的方法,通过Timer组件设置任务每小时执行一次,并详细解释了如何处理运行过程中可能出现的异常,确保任务稳定运行。
2927

被折叠的 条评论
为什么被折叠?



