我正在創建Windows服務。我想每30秒運行一次服務。C#定時器一次只消耗一個實例
所以我使用下面的代碼在Windows服務啓動使用計時器。
protected override void OnStart(string[] args)
{
timer1 = new Timer();
timer1.Interval = 30000;
timer1.Elapsed += new ElapsedEventHandler(timer1_tick);
timer1.Start();
}
在timer1_tick函數中,我正在執行一些操作,如更新用戶詳細信息,上傳和下載文件。
但是我不確定上述操作會在30秒內完成。 所以我想一次運行一個。
這裏timer1_tick函數每確切30秒調用一次。只有在timer1_tick函數完成每項任務時纔會發生這種情況。
如何做到這一點?
在你的計時器的tick事件中停止計時器,做你的邏輯,最後再次啓動計時器。 – Hakunamatata