私はWindowsサービスを作成しています。 30秒ごとにサービスを実行したい。C#タイマーは一度に1つのインスタンスが経過した
Windowsサービスのタイマーは、次のコードを使用して開始しました。
protected override void OnStart(string[] args)
{
timer1 = new Timer();
timer1.Interval = 30000;
timer1.Elapsed += new ElapsedEventHandler(timer1_tick);
timer1.Start();
}
timer1_tick関数では、ユーザーの詳細の更新、ファイルのアップロードやダウンロードなどの操作を実行しています。
しかし、ここでは、上記の操作が30秒以内に完了するかどうかはわかりません。 私は一度に1つずつ実行したいです。
ここではtimer1_tick機能は30秒ごとに正確に呼び出されます。これは、timer1_tick関数がすべてのタスクを終了した場合にのみ発生します。
どうすればよいですか?
タイマーのティックイベントで、タイマーを停止し、ロジックを実行して、最後にタイマーを再び開始します。 – Hakunamatata