我有幾個定時功能,運行Windows服務:窗口服務計時器設置爲每週
_timer = new Timer(1 * 60 * 1000); // every 1 minute
_timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
_timer.Start();
_fbtimer = new System.Timers.Timer(48 * 60 * 60 * 1000);
_fbtimer.Elapsed += new System.Timers.ElapsedEventHandler(fbtimer_Elapsed);
_fbtimer.Start();
//Weekley Snapshot
_ventimer = new System.Timers.Timer(2 * 60 * 1000);
_ventimer.Elapsed += new System.Timers.ElapsedEventHandler(ventimer_Elapsed);
_ventimer.Start();
//Weekly Activity
_tevtimer = new System.Timers.Timer(2 * 60 * 1000);
_tevtimer.Elapsed += new System.Timers.ElapsedEventHandler(tevtimer_Elapsed);
_tevtimer.Start();
如何設置要發生的計時器說一週一次,甚至更好的將其設置爲一個特定的時間每週一天,不使用quatrz/windows調度程序或太不同的方法。
增加:這就是我如何在10
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//log.Info("Info - Check time");
DateTime startAt = DateTime.Today.AddHours(10);
if (_lastRun < startAt && DateTime.Now >= startAt)
{
_timer.Stop();
//Stuff
_lastRun = DateTime.Now;
_timer.Start();
}
}
「不使用quatrz/windows調度程序」。 **壞主意** – AgentFire 2013-02-19 09:25:46
確定任何建議最好/簡單的方法來實現石英在這種方法,因爲我已經嘗試過沒有運氣 – Beginner 2013-02-19 09:27:02
如果你改變'AddHours(10)'爲'AddDays(7)'你有答案你自己的問題。 – 2013-02-19 09:28:43