次の紺碧のworkerroleが、役割がシャットダウンされたときに診断メッセージを表示しないのはなぜか疑問に思います。
public class WorkerRole : RoleEntryPoint {
private bool running=true;
public override void Run() {
while (running)
{
Thread.Sleep(10000);
TTrace.WriteLine("working", "Information");
}
Trace.WriteLine("stopped", "Information");
}
public override bool OnStart()
{
Trace.WriteLine("starting", "Information");
return base.OnStart();
}
public override void OnStop() {
Trace.WriteLine("stopping", "Information");
running = false;
base.OnStop();
}
}
診断ログに「開始」および「動作中」のイベントが表示されますが、Onstopメソッドは何もログに記録しません。それが呼び出されるのかどうか疑問に思っていたので、OnStop()メソッドにコードを挿入してデータを書き出しました。実際、データは期待どおりに書き込まれ、メソッドが呼び出されたことを証明しています。ログが取得されていないだけです。シャットダウンコードをトレースする方法はありますか?