Как использовать этот код в .net core 2.2 (HttpContext.Request.Текущий.Сессия [ключ])

#.net-core

#.net-core

Вопрос:

Я не могу использовать этот код в версии .net Core 2.2 HttpContext.Current.Сессия[«ключ»]

HttpContext.Current.Сессия[«ключ»]

HttpContext.Current.Сессия[«ключ»]

Ответ №1:

В .NET Core больше нет статики HttpContext.Current , потому что .NET Core имеет встроенную систему внедрения зависимостей, которая используется внутри ASP.NET Ядро.

Если ваш код находится внутри обычной области HTTP-запроса (промежуточное программное обеспечение, контроллер, представление и т.д.), HttpContext Для текущего HttpContext доступно свойство. В противном случае вы можете получить доступ к контексту HTTP с IHttpContextAccessor помощью (введенного DI).

Вы найдете все подробности здесь: https://learn.microsoft.com/en-us/aspnet/core/fundamentals/http-context?view=aspnetcore-2.2

Если у вас есть HttpContext, но сеанс равен нулю, то вам необходимо включить сеанс: https://learn.microsoft.com/en-us/aspnet/core/fundamentals/app-state?view=aspnetcore-2.2#session-state