web-dev-qa-db-ja.com

Application_End global.asax

アプリケーションのライフサイクルでApplication_Endがトリガーされたときに誰か教えてもらえますか?すべてのセッションが終了すると、Application_Endは自動的にトリガーされますか? + Application_Endがトリガーされる理由は他にもありますか?

40
Lieven Cardoen

application_endイベントは、主にIISプールがリサイクルされるか、アプリケーション自体がアンロードされたときに発生します。依存ファイル(web.configなど)を変更すると、自身をリロードします。これにより、アプリケーションが終了している間にapplication_endイベントが発生します。

ちなみに、最後のユーザーセッションがタイムアウトしたときに発生するアプリケーション終了イベントの唯一のインスタンスは、2001年の古いドキュメントにあります。その基準がまだ適用されるかどうかはわかりません。

38
Dillie-O

Application.Endは、ASP.NETワーカープロセスが終了するとトリガーされます。これは通常、構成可能な非アクティブ期間の後、またはIIS(または関連するアプリケーションプール)がシャットダウンまたは再起動されたときに発生します。

IIS 6.0で実行している場合、非アクティビティタイムアウトは、インターネットサービスマネージャーのアプリケーションプール設定([パフォーマンス]タブの[アイドルタイムアウト])で構成できます。 IISの以前のバージョンでは、machine.config(processModelの下のidleTimeout)で設定できます。

12