良い記事を見つけたので共有する必要がありました。 最近、asp.net MVC のライフ サイクルを研究していて、ASP.NET MVC は ASP.NET Framework に基づいているため、パイプライン イベントなどの ASP.NET WebForm の多くの処理プロセスが、 ASP.NET MVC も適用されます。サーバーに入るのは MVC URLRouting モジュールの要求だけです
良い記事を見つけたので共有する必要がありました。
最近、asp.net MVC のライフサイクルを研究していて、ASP.NET MVC が ASP.NET Framework に基づいていることがわかりました。そのため、パイプライン イベントなど、ASP.NET WebForm の多くの処理プロセスでは、 ASP の場合 同じことが .NET MVC にも当てはまります。 MVC URLRouting モジュールがサーバーに入るリクエストをインターセプトし、このリクエストのハンドラーで特別な処理を実行するだけです。要約すると、ASP.NET パイプラインは、WebForm や MVC を含むすべての ASP.NET Web アプリケーションの基礎です。この 2 つの違いは、最終的に使用される IHttpHandler にあります。 WebForm はページ ハンドラーを使用し、MVC は MVCHander を使用します。
まず、ASP.NET のライフ サイクルについて詳しく学びましょう。次の 3 つの図を使用して、Asp.Net のライフ サイクル全体を詳しく説明します。
説明:
1 最初の図は、グローバル記述から、クライアントから要求リクエストが発行され、サーバー Windows カーネルの HTTP.SYS コンポーネントがリクエストを受信し、IIS がリクエストを処理してクライアントに応答することで終了することを示しています。
2 2 番目の図は、図 1 の HTTP 処理パイプラインの詳細な手順を示しています
3 3 番目の図は、図 2Http 処理パイプラインのハンドラー (HttpHandler、ここでは Page オブジェクト) を呼び出す詳細なライフサイクル プロセスを示しています。
写真1:
図 2: HTTP 処理パイプラインの詳細な説明
図 3: Asp.Net ライフサイクルの詳細な説明 (WebForm の場合)
個人的な補足: これら 3 つの図は、MVC のインターセプト原理を簡単に説明するために、元の記事である ASP.NET MVC プロセスの概要と組み合わせてあります。 この記事のコードのプロセスの概要を説明し、この記事の最初の図の分析と組み合わせることで、URLRouting モジュールは PostResolveRequestCache 中にリクエストをインターセプトし、対応するルーティング分析を実行します。 PostMaPRequestHandler が完了すると、このリクエストの Handler の作成が完了します。ここでいくつかの前処理が行われることに注意してください。この目的は、将来実際に使用される Http ハンドラーを HttpContext に組み込むことです。現時点では、ProcessRequest メソッドは呼び出されません。 PostMapRequestHandler が完了すると、AquireRequestState などの他のパイプライン イベントが続行されます。ハンドラーの Process Request メソッドは実際には PostRequestHandlerExecute で実行され、パイプライン内の各イベントは最終的に順番に完了します。 転載元: http://blog.csdn.net/sundacheng1989/article/details/10468393