Подтвердить что ты не робот

InvalidOperationException: невозможно разрешить службу для типа "Microsoft.AspNetCore.Http.IHttpContextAccessor"

Я начал конвертировать мой RC4-проект asp.net в RC2 и столкнулся с проблемой, которая теперь IHttpContextAccessor не решена.

Для простоты я создал новый проект ASP.NET RC2 с использованием шаблона Visual Studio ASP.NET Core Web Application (.Net Framework). Затем я добавил конструктор для HomeController, который создал для меня шаблон.

public HomeController(IHttpContextAccessor accessor)
{
}

И после запуска приложения я получаю следующую ошибку:

InvalidOperationException: не удается разрешить службу для типа "Microsoft.AspNetCore.Http.IHttpContextAccessor" при попытке активировать "TestNewCore.Controllers.HomeController". в Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider sp, Тип типа, Тип requiredBy, Boolean isDefaultParameterRequired)

В моем реальном приложении мне нужно разрешить IHttpContextAccessor в моем собственном классе сервиса для получения доступа к _contextAccessor.HttpContext.Authentication и _contextAccessor.HttpContext.User. В RC1 отлично работает. Итак, как он может быть в RC2?

4b9b3361

Ответ 1

IHttpContextAccessor больше не подключается по умолчанию, вам необходимо зарегистрировать его самостоятельно

services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();