5

アプリケーションプールがリサイクルされている理由を特定する必要があります。(明白な理由はありません)

global.asaxファイルのapplication_endサブ内でこれを判別する方法はありますか?

そこにいくつかの基本的なロギングを入れたので、いつシャットダウンするかはわかりますが、理由はわかりません。

(そして、それは明らかではありません...特定の操作によってアプリケーションが終了するリクエストが2つあるようです。タイムアウト、メモリチェックなど、リサイクルの通常の理由をすべてオフにしました。同じコードは別のサーバーで正常に動作しているので、このセットアップに何か問題があると確信していますが、何ですか?...)

4

3 に答える 3

4

カスタムログを追加するためにオーバーヘッドを発生させる必要はありません。ASP.NET2.0ヘルスモニタリングが自動的に機能します。次の構成を追加して、アプリケーションプールが再起動された理由を含むイベントをイベントログに記録できます。

ASP.NETヘルスモニタリングをオンにするにはweb.config、通常はにある「マスター」ファイルを編集できます%systemroot%\microsoft.net\framework\v2.0.50727\config

  • <healthMonitoring>まず、マスターで探しますweb.config

  • ノード内で、healthMonitoringノードを見つけ<rules>ます

  • ルール内に、以下を追加します。

    <add name="Application Lifetime Events Default"       
         eventName="Application Lifetime Events"       
         provider="EventLogProvider"       
         profile="Default"       
         minInstances="1"       
         maxLimit="Infinite"       
         minInterval="00:01:00"       
         custom="" /> 
    

問題を再現し、ASP.NET2.0のソースのアプリケーションイベントログを確認します。これにより、アプリケーションプールがリサイクルされる理由がログに記録されます。

于 2011-04-03T18:17:32.130 に答える
0

EventLogを調べてみてください。アプリプールがリサイクルされると、理由とともにログに書き込まれるエントリがあります。

次のリンクは、IIS7.5http://technet.microsoft.com/en-us/library/dd349270(WS.10).aspxのイベントログに表示されるエラーコードについて説明しています

于 2011-04-03T04:20:22.850 に答える
0

問題のあるマシンのイベントビューアにまだログエントリがない場合は、IISを変更して、すべてのアプリプールのリサイクルをログに記録できます。

それを行う方法に関するMicrosoftの記事は以下にあります

http://support.microsoft.com/kb/332088

于 2011-04-03T04:23:21.760 に答える