Heim >Backend-Entwicklung >C++ >Wie greife ich in ASP.NET Core auf HttpContext zu?

Wie greife ich in ASP.NET Core auf HttpContext zu?

Linda Hamilton
Linda HamiltonOriginal
2025-01-19 15:02:09709Durchsuche

How to Access HttpContext in ASP.NET Core?

So rufen Sie HttpContext.Current in ASP.NET Core ab

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn