私の .net Windows サービスでは、タイマーが経過してメイン メソッドが呼び出されたときに、タイマーをスリープ モードにするのがベスト プラクティスですか?
これは、メイン メソッドの実行時間が長すぎて、前の呼び出しのメイン メソッドが実行を終了する前にタイマーが経過した場合です。
私の .net Windows サービスでは、タイマーが経過してメイン メソッドが呼び出されたときに、タイマーをスリープ モードにするのがベスト プラクティスですか?
これは、メイン メソッドの実行時間が長すぎて、前の呼び出しのメイン メソッドが実行を終了する前にタイマーが経過した場合です。
BobbyShaftoe が述べたことに加えて、try/catch/finally ブロックを使用し、finally ブロックにタイマーを再起動するコードを配置することをお勧めします。したがって、例外が発生した場合でも、タイマーは再起動して後で実行されます。無期限に停止したくない場合を除きます。
これは実際には「メイン メソッド」ではありませんが、経過したイベントの結果として呼び出されるメソッドを意味しているだけだと思います。場合によります。間隔ごとに実行する必要がありますか、それとも間隔ごとにプロセスを開始するだけでよく、既に実行されている場合は何もしません。
後者の場合は、私が推測するように、あなたがこれを求めているので、はい、経過したイベントハンドラーの最初のステートメントとしてタイマーを停止してください。次に、「メイン メソッド」の他のすべての処理が完了したら、タイマーを再度開始します。