ASP.NET Core では、HttpContext.Current は非推奨になりました。この記事では、現在の HTTP コンテキストにアクセスするための別のアプローチについて説明します。
1. HttpContext プロパティ
コントローラーの HttpContext プロパティを通じて現在の HTTP コンテキストにアクセスできます:
public class HomeController : Controller { public IActionResult Index() { MyMethod(HttpContext); return View(); } private void MyMethod(Microsoft.AspNetCore.Http.HttpContext context) { // Use the HTTP context here } }
2.ミドルウェアの HttpContext パラメーター
カスタム ASP.NET Core ミドルウェアでは、現在の HTTP コンテキストがパラメーターとして Invoke メソッドに自動的に挿入されます:
public async Task InvokeAsync(HttpContext context) { // Use the HTTP context here }
3。 HTTP コンテキスト アクセサー
ASP.NET Core の依存関係注入によって管理されないクラスの場合は、IHttpContextAccessor ヘルパー サービスを使用できます。
public class MyService { private readonly IHttpContextAccessor _httpContextAccessor; public MyService(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; } public void UseHttpContext() { var context = _httpContextAccessor.HttpContext; // Use the HTTP context here } }
ConfigureServices で HttpContextAccessor を登録することを忘れないでください。 :
public void ConfigureServices(IServiceCollection services) { services.AddHttpContextAccessor(); // ... }
以上がASP.NET Core で HttpContext にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。