
ASP.NET Core のリクエストライフサイクル
Request pipeline、middleware pipeline、filters、action results、model binding
1ASP.NET Core における request pipeline の主な役割は何ですか?
ASP.NET Core における request pipeline の主な役割は何ですか?
回答
request pipeline は、Program.cs で構成された middleware を通じて各 HTTP リクエストを順次処理します。各 middleware は、リクエストを次の middleware に渡す前に検査、変更、または short-circuit することができます。この chain-of-responsibility パターンにより、関心事の分離(認証、logging、圧縮など)とリクエスト処理のモジュール化された構成が可能になります。
2ASP.NET Core パイプラインにおける middleware の順序の重要性は何ですか?
ASP.NET Core パイプラインにおける middleware の順序の重要性は何ですか?
回答
middleware の順序は重要です。リクエストは上から下へ処理され、レスポンスは下から上へ戻るためです。認証 middleware を routing の後に配置すると、endpoint が検証なしで公開されるためセキュリティ上の問題が発生します。典型的な順序は次のとおりです:Exception Handling → HTTPS Redirection → Static Files → Routing → CORS → Authentication → Authorization → Endpoints。
3middleware はどのようにして request pipeline を short-circuit できますか?
middleware はどのようにして request pipeline を short-circuit できますか?
回答
middleware は、next() を通じてリクエストを次の middleware に渡さないことで short-circuit できます。これは、401 Unauthorized を返す認証 middleware、routing を呼び出さずに静的ファイルを提供する場合、またはビジネスロジックを実行せずにキャッシュされたレスポンスを返す caching の実装に役立ちます。short-circuit は不要な middleware の実行を回避することでパフォーマンスを向上させます。
ASP.NET Core における model binding の主なソースは何ですか?
IActionResult と ActionResult<T> の違いは何ですか?
+17 面接問題