0

これを追跡できるかどうかを知りたいのです。これが頻繁に発生する場合は、その根本的な原因を知りたいからです。IISでサイトを再起動するために利用できるタイムスタンプログはありますか?これをプログラムで追跡するにはどうすればよいですか?

ありがとうございます。

4

2 に答える 2

3

Global.asaxで

void Application_Start(object sender, EventArgs e) 

そしてその

void Application_End(object sender, EventArgs e) 

アプリケーションの開始時と終了時に呼び出されます。それらを使用してログに記録できます。プールが再起動する理由を知るために、プールの設定を簡単に確認できます。設定した理由はたくさんあります。時間制限、メモリ制限、その他の設定を設定した可能性があります...確認できますそれらを変更します。

于 2012-05-16T14:02:26.740 に答える
2

アプリケーションの再起動の理由をGlobal.asaxApplication_Endに記録できます。

protected void Application_End(object sender, EventArgs e)
{
  HttpRuntime runtime = (HttpRuntime)typeof(System.Web.HttpRuntime).InvokeMember("_theRuntime", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.GetField, null, null, null);

  string shutDownMessage = "";

  if (runtime != null)
  {
    shutDownMessage = Environment.NewLine + "Shutdown: " +
                      (string)runtime.GetType().InvokeMember("_shutDownMessage", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField, null, runtime, null) + 
                      Environment.NewLine + "Stack: " + Environment.NewLine +
                      (string)runtime.GetType().InvokeMember("_shutDownStack", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField, null, runtime, null);
  }
}
于 2012-05-16T14:06:05.240 に答える