Not*_*ing 5 c# windows-services scheduled-tasks
我找到了这个答案,我试着遵循这个,但是当我开始服务时,它没有带给我任何工作.我无法理解的一件事是:`_timer = new Timer(10*60*1000); //每10分钟
我想每天晚上10点开始服务,我怎么能这样做?
你可以找出你和你difference之间的相应的时间间隔.这样在计划时间内计时器的事件.将时间间隔设置为经过时间的24小时.current timedesired schedule timewill fire once
private System.Timers.Timer _timer;
private void SetTimer()
{
DateTime currentTime = DateTime.Now;
int intervalToElapse = 0;
DateTime scheduleTime = new DateTime(currentTime.Year, currentTime.Month, currentTime.Day, 10,0,0);
if (currentTime <= scheduleTime)
intervalToElapse = (int)scheduleTime.Subtract(currentTime).TotalSeconds;
else
intervalToElapse = (int)scheduleTime.AddDays(1).Subtract(currentTime).TotalSeconds;
_timer = new System.Timers.Timer(intervalToElapse);
_timer.Elapsed += new System.Timers.ElapsedEventHandler(_timer_Elapsed);
_timer.Start();
}
void _timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//do your work
_timer.Interval = (24 * 60 * 60 * 1000);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10375 次 |
| 最近记录: |