我想寫一個Windows服務。但它需要在特定時間運行。例如,我的服務應每5分鐘給我發一封電子郵件。如何讓我的Windows服務以特定間隔運行?
private Timer _timer;
private DateTime _lastRun = DateTime.Now;
protected override void OnStart(string[] args)
{
_timer = new Timer(10 * 60 * 1000); // every 10 minutes
_timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
//...
}
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
// ignore the time, just compare the date
if (_lastRun.Date < DateTime.Now.Date)
{
// stop the timer while we are running the cleanup task
_timer.Stop();
//
// do cleanup stuff
//
_lastRun = DateTime.Now;
_timer.Start();
}
}
我希望我的服務每5分鐘給我發一封電子郵件。
我不認爲這是足夠的信息是誠實的。真的很難提供任何有用的代碼。 [試試這個](http://stackoverflow.com/questions/503564/how-might-i-schedule-ac-sharp-windows-service-to-perform-a-task-daily) – yoonsi 2012-07-16 08:53:33
這個問題已被問到,在這裏是鏈接。 您使用此System.Threading.Timer這是成功的關鍵 http://stackoverflow.com/questions/246697/windows-service-and-timer – IamStalker 2012-07-16 08:55:43
我想給我發郵件,ı編輯我的問題 – 2012-07-16 08:55:52