0
私は常時稼働し、レジストリからロードされるconfigクラスを持っているWindowsサービスを持っています。私はこれらのレジストリファイルを設定する別の "設定"アプリケーションを持っています。
私の必要なのは、サービスが設定が変更されたことを知らせ、configクラスをリロードする方法です。レジストリの変更時にイベントを処理する方法は? :長時間実行しているEventWaitHandle?
私の最初の考えはEventWaitHandleで、ユーザーが設定を保存すると "設定"アプリケーションがSet()
になる可能性があります。私のサービスは
while(true)
{
myWaitEventHandler.WaitOne();
ReloadConfig();
}
これは良い解決策ですが、何もしていOnStart()
で別のスレッドを起動しますか? EventWaitHandleを24時間365日待機するのは悪いですか?
疲れません。システムリソースを最大限に活用するのではなく、他に待つ必要はありませんか?停止要求と同様に、あなたはサービスで何をしていますか?その後、WaitAny()を使用します。 –
まだ待っていることはもうありませんが、将来は出てくるかもしれません。 – Marcus