Как внедрить и использовать IHttpContextAccessor в ASP.NET Core

Чтобы внедрить и использовать IHttpContextAccessorв приложении ASP.NET Core, вы можете выполнить следующие действия:

Шаг 1. Добавьте IHttpContextAccessorв контейнер внедрения зависимостей.
В файле Startup.cs в методе ConfigureServicesдобавьте следующий код:

services.AddHttpContextAccessor();

Шаг 2. Внедрите IHttpContextAccessorв свой класс.
В классе, в котором вы хотите использовать IHttpContextAccessor, вы можете внедрить его с помощью внедрения конструктора. Например:

private readonly IHttpContextAccessor _httpContextAccessor;
public YourClass(IHttpContextAccessor httpContextAccessor)
{
    _httpContextAccessor = httpContextAccessor;
}

Шаг 3. Доступ к свойствам и методам HttpContext.
После внедрения IHttpContextAccessorвы можете получить доступ к HttpContextчерез HttpContextсвойство. Например, вы можете получить доступ к личности текущего пользователя:

var userIdentity = _httpContextAccessor.HttpContext.User.Identity;

При необходимости вы также можете получить доступ к другим свойствам и методам объекта HttpContext.