2011-07-29 16 views
0

私は常時稼働し、レジストリからロードされるconfigクラスを持っているWindowsサービスを持っています。私はこれらのレジストリファイルを設定する別の "設定"アプリケーションを持っています。
私の必要なのは、サービスが設定が変更されたことを知らせ、configクラスをリロードする方法です。レジストリの変更時にイベントを処理する方法は? :長時間実行しているEventWaitHandle?

私の最初の考えはEventWaitHandleで、ユーザーが設定を保存すると "設定"アプリケーションがSet()になる可能性があります。私のサービスは

while(true) 
{ 
    myWaitEventHandler.WaitOne(); 
    ReloadConfig(); 
} 

これは良い解決策ですが、何もしていOnStart()で別のスレッドを起動しますか? EventWaitHandleを24時間365日待機するのは悪いですか?

+0

疲れません。システムリソースを最大限に活用するのではなく、他に待つ必要はありませんか?停止要求と同様に、あなたはサービスで何をしていますか?その後、WaitAny()を使用します。 –

+0

まだ待っていることはもうありませんが、将来は出てくるかもしれません。 – Marcus

答えて

0

誰かが不思議に思っている場合は、私は今数日間実行していて、何の悪影響も感じていません。

関連する問題