ASP.NET Core アプリケーションでの HttpContext へのアクセス
ASP.NET Web フォームから ASP.NET Core に移行するには、アーキテクチャ設計の変更が必要です。 おなじみの HttpContext.Current
は利用できなくなりました。
代替アプローチ
ASP.NET Core で HTTP コンテキストにアクセスする方法はいくつかあります。
ダイレクト HttpContext
アクセス (コントローラー): コントローラー内では、HttpContext
プロパティにより直接アクセスが提供されます。 この情報を必要とするメソッドにパラメータとして渡すことができます。
HttpContext
: カスタム ミドルウェアは、HttpContext
メソッド内のパラメーターとして Invoke
を自動的に受け取ります。
IHttpContextAccessor
サービス: ASP.NET Core の依存関係注入によって管理されるクラスの場合は、IHttpContextAccessor
サービスを使用します。 HTTP コンテキストに安全にアクセスするには、このインターフェイスをクラスのコンストラクターに挿入します。 IHttpContextAccessor
にConfigureServices
を忘れずに登録してください。
重要な考慮事項:
ASP.NET Core は疎結合を促進します。直接の HttpContext
アクセスは最小限に抑える必要があります。コンテキスト固有のデータを必要とするサービスについては、依存関係注入などの代替ソリューションを検討してください。 これにより、コードの保守性とテスト性が向上します。
以上がASP.NET Core で HttpContext にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。