2

私のアプリケーションは共有ホスティング環境で実行されています。アプリ専用のアプリ プールがあります。最初の訪問とプリコンパイルのパフォーマンスでいくつかのテストを行っており、アプリケーションの起動とシャットダウンを追跡しています。

私の Global.asax には、Application_Start と Application_End にいくつかのログ コードがあります。通常、ログから、アプリケーションがアイドル状態でシャットダウンした後、誰かがアクセスして再起動することがわかります。

ただし、シャットダウンがログに記録され、約 13 分後に別のシャットダウンが続くケースも見られます。途中で起動せずに。

スタートアップが 2 つ連続している例も見られます。これらはリサイクルの可能性があると思いますが、シャットダウン ログ エントリがないのはなぜですか?

アプリケーションの起動時、シャットダウン時、およびアイドルプールが原因でシャットダウンされたのか、リサイクルからシャットダウンされたのかを追跡するためのより良い方法があるかどうかを本当に知りたいです。Windows イベント ログにアクセスできないため、可能であればアプリから行う必要があります。

4

1 に答える 1

3

Application_Start と Application_End は、アプリケーションで有効期間ごとに 1 回だけ呼び出す必要があります。MSDN はこれを確認しています。

ホスティング環境を知らなくても、Web ホストが複数のワーカー プールまたは IIS インスタンスで Web サイトを実行している可能性があります。プール内の他のアプリが原因で、アプリケーション プールが予期せずクラッシュすることもあります。

イベント ログや基本的な Web ホスト コントロール パネル以外にアクセスできない場合、現在行っているように、Global.ASAX を使用してログを記録するのが最善の方法です。

于 2010-12-09T23:02:24.790 に答える