c# ihttpcontextaccessor inject - Accédez au HttpContext actuel dans ASP.NET Core




2 Answers

HttpContext.Current n'existe plus dans ASP.NET Core mais il existe un nouvel IHttpContextAccessor que vous pouvez injecter dans vos dépendances et utiliser pour récupérer le HttpContext actuel:

public class MyComponent : IMyComponent
{
    private readonly IHttpContextAccessor _contextAccessor;

    public MyComponent(IHttpContextAccessor contextAccessor)
    {
        _contextAccessor = contextAccessor;
    }

    public string GetDataFromSession()
    {
        return _contextAccessor.HttpContext.Session.GetString(*KEY*);
    }
}

J'ai besoin d'accéder à HttpContext actuel dans une méthode statique ou un service utilitaire.

Avec ASP.NET MVC et System.Web classiques, j'utiliserais simplement HttpContext.Current pour accéder au contexte de façon statique. Mais comment faire cela dans ASP.NET Core?







Related