_Global.asax
_ファイルのApplication_Start()
vs Init()
にアプリケーション初期化コードを配置する必要があるのはどのような状況ですか?
この2つの違いは、_Application_start
_が最初に呼び出され、次にInit()
が呼び出されることを除いて、私にはあまり明白ではないようです。
これまでのところ私が見つけることができる唯一の本当のポインターはIHttpModule
がInit()
メソッドしか持っていないということですので、私がやっていることが何らかの時点でIHttpModule
を実装するのにより適している場合は、Init()
_Global.asax
_のメソッド、一貫性のために他に何もない場合。
MSDNドキュメント から:
Application_StartおよびApplication_Endメソッドは、HttpApplicationイベントを表さない特別なメソッドです。 ASP.NET 各HttpApplicationインスタンスではなく、アプリケーションドメインの有効期間中に一度呼び出します。
初期化:
すべてのモジュールが作成された後にHttpApplicationのすべてのインスタンスに対して1回クラスが呼び出されます。
更新:特定のコードがアプリで1回だけ呼び出されることを確認する必要がある場合。ライフサイクル、Application_Startはより良いソリューションです。例:log4netの構成?
はい
それらの間には違いがあります。 Application_Start()イベントは1回だけ呼び出されますが、Init()メソッドはアプリケーションのインスタンスが作成されるたびに呼び出されます。