Maison > développement back-end > C++ > Comment accéder à HttpContext dans ASP.NET Core ?

Comment accéder à HttpContext dans ASP.NET Core ?

Linda Hamilton
Libérer: 2025-01-19 15:02:09
original
711 Les gens l'ont consulté

How to Access HttpContext in ASP.NET Core?

Comment récupérer HttpContext.Current dans ASP.NET Core

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
    }
}
Copier après la connexion

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
}
Copier après la connexion

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
    }
}
Copier après la connexion

N'oubliez pas d'enregistrer HttpContextAccessor dans ConfigureServices :

public void ConfigureServices(IServiceCollection services)
{
    services.AddHttpContextAccessor();

    // ...
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal