protected override void OnStart(string[] args)
{
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Thread.Sleep(10000);
throw new Exception();
}
void CurrentDomain_UnhandledException(object sender,
UnhandledExceptionEventArgs e)
{
}
Windows サービスの上記のコードにデバッガーをアタッチし、CurrentDomain_UnhandledException にブレークポイントを設定しましたが、ヒットしませんでした。未処理であることを示す例外がポップアップ表示され、サービスが停止します。最適化されている場合に備えて、イベント ハンドラーにコードを入れてみました。
これは、Windows サービスで未処理の例外処理を設定する適切な方法ではありませんか?