Dans ASP.NET Core, HttpContext.Current est obsolète. Cet article explore des approches alternatives pour accéder au contexte HTTP actuel.
1. Propriété HttpContext
Vous pouvez accéder au contexte HTTP actuel via la propriété HttpContext des contrôleurs :
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. Paramètre HttpContext dans le middleware
Dans le middleware ASP.NET Core personnalisé, le contexte HTTP actuel est automatiquement injecté en tant que paramètre à la méthode Invoke :
public async Task InvokeAsync(HttpContext context) { // Use the HTTP context here }
3. Accesseur de contexte HTTP
Pour les classes non gérées par l'injection de dépendances ASP.NET Core, le service d'assistance IHttpContextAccessor peut être utilisé :
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 } }
N'oubliez pas d'enregistrer HttpContextAccessor dans ConfigureServices :
public void ConfigureServices(IServiceCollection services) { services.AddHttpContextAccessor(); // ... }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!