6

ASP.NET WebAPI には、global.asax.cs ファイルに ApplicationStart というメソッドがあり、アプリケーションの起動時に自動的に呼び出されます。これはどのように呼ばれますか?

私が尋ねる理由は、必要なクリーンアップを行うために Application_End メソッドを追加したいからです。

4

2 に答える 2

13

ASP.NET WebApi は、Global.asax メソッドに関しては ASP.NET と同じです。これらのメソッドは、アプリケーションのロード時に IIS アプリケーション プール ワーカーによってリフレクションによって検出され、適切なタイミングで呼び出されます。これに関する優れた概要がMSDNにあります。

Application_Start()アプリケーションがアプリケーション プール内で実行を開始すると、IIS によって呼び出されます。通常、これは、アプリケーションのドメイン内のリソースに対する要求が入ったときに発生します。結局のところ、リクエストが処理されるには、アプリケーションが実行されている必要があります。

Application_End()アプリケーションがアンロードされる直前、またはアプリケーション プールがリサイクルされる直前に呼び出されます。アプリケーション プールのリサイクルを引き起こすさまざまなトリガーがあります。

于 2012-12-21T15:58:45.363 に答える
2

MSDN には詳細がすべて記載されています - http://msdn.microsoft.com/en-us/library/ms178473(v=vs.100).aspxですが、興味のある重要な部分は次のとおりです。

Application_Start ..... ASP.NET アプリケーションの最初のリソース (ページなど) が要求されたときに呼び出されます。Application_Start メソッドは、アプリケーションのライフ サイクル中に 1 回だけ呼び出されます。このメソッドを使用して、キャッシュへのデータのロードや静的値の初期化などのスタートアップ タスクを実行できます。

基本的に、アプリケーション ライフサイクルごとに 1 回、アプリケーション コンテナー (IIS など) によって自動的に呼び出されます。

于 2012-12-21T15:59:05.770 に答える