これは非常に一般的なケースであると確信していますが、MSDN でそれについて多くを見つけることができません。
トランザクションを実行しているサービスがあり、停止要求を受け取ったときに、実際のプロセスが終了する前に現在のトランザクションを完了したことを確認したいとします。
ウィンドウが「停止」状態にあるように見えることは知っていますが、ServiceBase.OnStop メソッドからそれを制御する方法がわかりません。
停止要求を登録したらすぐに OnStop から戻る必要がありますか? その場合、実際に終了したことをどのように示しますか?
または、現在のトランザクションが完了するまで、ブロックして OnStop から戻らないようにする必要がありますか? (つまり、Windows は、OnStop の呼び出しと OnStop が戻るまでの間、サービスを自動的に "停止" 状態にします)