2013-10-24 9 views
9

MvcApplicationという、System.Web.HttpApplicationから拡張されたカスタムクラスから継承したglobal.asaxがあります。それのコンストラクタで何回System.Web.HttpApplicationがプロセスごとに初期化されているか

、それは以下のとおりにアプリケーションの起動をログに記録します。

私は、ログファイルに見に行ったとき、これだけではなく、一度アプリケーションの起動ごとに、多くの時間と呼ばれているように見えます。私はApplication_Startに別のログエントリを置きましたが、それは一度だけ呼び出されるようです。 Global.asaxクラスは要求ごとにインスタンス化されますか、アプリケーションごとに1回だけよりも頻繁にインスタンス化されますか?

答えて

30

複数のHttpApplictionオブジェクトは、asp.netアプリケーションのライフサイクルで要求を処理するために作成され、プールされます。 はいApplication_Startは1回だけ呼び出されます。

は、参照してくださいhttp://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle

抜粋: すべてのコアのASP.NETオブジェクトが作成されると、「のHttpApplication」オブジェクトは、要求にサービスを提供するために作成されます。あなたのシステムに 'global.asax'ファイルがある場合、 'global.asax'ファイルのオブジェクトが作成されます。 global.asaxファイルは 'HttpApplication'クラスから継承されています。 注:最初にASP.NETページがアプリケーションに添付されると、 'HttpApplication'の新しいインスタンスが作成されます。パフォーマンスを最大限に高めるために、HttpApplicationインスタンスは複数のリクエストに対して再利用される可能性があります。

enter image description here

+0

ありがとうございます!どういうわけか私はいつもそれが1つのHttpApplicationであると思っていました。 –

+0

あなたは大歓迎です! – Saranya

+0

アプリケーションの流れを理解する優れた図 – umer

関連する問題