Dalam Teras ASP.NET, HttpContext.Current telah ditamatkan. Artikel ini meneroka pendekatan alternatif untuk mengakses konteks HTTP semasa.
1. HttpContext Property
Anda boleh mengakses konteks HTTP semasa melalui sifat HttpContext pengawal:
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. Parameter HttpContext dalam Middleware
Dalam perisian tengah Teras ASP.NET tersuai, konteks HTTP semasa disuntik secara automatik sebagai parameter kepada kaedah Invoke:
public async Task InvokeAsync(HttpContext context) { // Use the HTTP context here }
3. Aksesor Konteks HTTP
Untuk kelas yang tidak diuruskan oleh suntikan kebergantungan Teras ASP.NET, perkhidmatan pembantu IHttpContextAccessor boleh digunakan:
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 } }
Jangan lupa untuk mendaftar HttpContextAccessor dalam ConfigureServices :
public void ConfigureServices(IServiceCollection services) { services.AddHttpContextAccessor(); // ... }
Atas ialah kandungan terperinci Bagaimana untuk Mengakses HttpContext dalam ASP.NET Core?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!