Heim >Backend-Entwicklung >C++ >Wie greife ich in ASP.NET Core auf HttpContext zu?
In ASP.NET Core ist HttpContext.Current veraltet. In diesem Artikel werden alternative Ansätze für den Zugriff auf den aktuellen HTTP-Kontext untersucht.
1. HttpContext-Eigenschaft
Sie können über die HttpContext-Eigenschaft von Controllern auf den aktuellen HTTP-Kontext zugreifen:
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-Parameter in Middleware
In benutzerdefinierter ASP.NET Core-Middleware wird der aktuelle HTTP-Kontext automatisch als Parameter in die Invoke-Methode eingefügt:
public async Task InvokeAsync(HttpContext context) { // Use the HTTP context here }
3. HTTP-Kontext-Accessor
Für Klassen, die nicht durch ASP.NET Core-Abhängigkeitsinjektion verwaltet werden, kann der IHttpContextAccessor-Hilfsdienst verwendet werden:
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 } }
Vergessen Sie nicht, HttpContextAccessor in „ConfigureServices“ zu registrieren :
public void ConfigureServices(IServiceCollection services) { services.AddHttpContextAccessor(); // ... }
Das obige ist der detaillierte Inhalt vonWie greife ich in ASP.NET Core auf HttpContext zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!