Asp.net-mvc-life-cycle

提供:Dev Guides
移動先:案内検索

ASP.NET MVC-ライフサイクル

この章では、全体的なMVCパイプラインと、ASP.NETのMVCフレームワークを通過するHTTP要求の寿命について説明します。 高レベルでは、ライフサイクルは、ある種の要求を処理したり、アプリケーションの状態を変更したりするために使用される一連のステップまたはイベントです。 フレームワークのさまざまなライフサイクルに既に精通している場合がありますが、この概念はMVCに固有のものではありません。

たとえば、ASP.NET Webフォームプラットフォームは、複雑なページライフサイクルを特徴としています。 Windows Phoneアプリのような他の.NETプラットフォームには、独自のアプリケーションライフサイクルがあります。 テクノロジーに関係なく、これらすべてのプラットフォームに当てはまることの1つは、処理パイプラインを理解することで、利用可能な機能をより活用できるようになり、MVCも同様であるということです。

MVCには2つのライフサイクルがあります-

  • アプリケーションのライフサイクル
  • リクエストのライフサイクル

MVCライフサイクル

アプリケーションのライフサイクル

アプリケーションライフサイクルとは、アプリケーションプロセスが実際にIISの実行を開始してから停止するまでの時間を指します。 これは、アプリケーションの起動ファイル内のアプリケーションの開始イベントと終了イベントによってマークされます。

リクエストのライフサイクル

HTTPリクエストがアプリケーションによって処理されるたびに発生するイベントのシーケンスです。

すべてのMVCアプリケーションのエントリポイントは、ルーティングから始まります。 ASP.NETプラットフォームはリクエストを受信すると、URLルーティングモジュールを介してどのように処理する必要があるかを判断します。

モジュールは、アプリケーションのライフサイクルにフックして機能を追加できる.NETコンポーネントです。 ルーティングモジュールは、着信URLをアプリケーションで定義したルートに一致させる役割を果たします。

すべてのルートにはルートハンドラが関連付けられており、これがMVCフレームワークへのエントリポイントです。

ルートハンドラ

MVCフレームワークは、ルートデータを、リクエストを処理できる具体的なコントローラーに変換します。 コントローラーの作成後、次の主要なステップは*アクションの実行*です。 action invoker と呼ばれるコンポーネントは、コントローラーを呼び出す適切なActionメソッドを見つけて選択します。

アクションの結果が準備されると、次のステージがトリガーされます。これは Result Execution です。 MVCは、結果の宣言と結果の実行を分離します。 結果がビュータイプの場合、View Engineが呼び出され、ビューの検索とレンダリングを行います。

結果がビューでない場合、アクションの結果は単独で実行されます。 この結果実行は、元のHTTP要求に対する実際の応答を生成するものです。