定点执行服务
怎么设置要它在每天23:00执行,包括第一次??
方法一:timer.Interval = 1000; 每秒都执行timer_Elapsed ,然后根据时,分,秒,进行判断,但每天只要执行一次,就会有点浪费资源,每时每刻都在执行程序,下面的解决方案是,执行之后把时间设置成23小时候在运行timer_Elapsed
方法二:
static void Main(string[] args)
{ //在应用程序启动时运行的代码 System.Timers.Timer timer = new System.Timers.Timer(); timer.Interval = 1000; timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed); timer.AutoReset = true; timer.Start();}static void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e){ if (DateTime.Now.ToString("HH:mm:ss") == "23:00:00") { (sender as System.Timers.Timer).Interval = 23 * 60 * 60 * 1000.0; //将时间间隔改为23小时,23小时后重新发生timer_Elapsed事件。 //要做的事情 console.writeLine(DateTime.now);
} else (sender as System.Timers.Timer).Interval = 1000;}
浙公网安备 33010602011771号