IT

InvalidOperationException : 'Microsoft.AspNetCore.Http.IHttpContextAccessor'유형에 대한 서비스를 확인할 수 없습니다.

lottoking 2020. 8. 7. 07:49
반응형

InvalidOperationException : 'Microsoft.AspNetCore.Http.IHttpContextAccessor'유형에 대한 서비스를 확인할 수 없습니다.


내 asp.net 코어 RC1 프로젝트를 RC2로 변환하기 시작하고 지금 IHttpContextAccessor은 해결되지 않는 문제에 직면했습니다 .

간단하게하기 위해 Visual Studio Template을 사용하여 새 ASP.NET RC2 프로젝트를 만들었습니다 ASP.NET Core Web Application (.Net Framework). 템플릿이 나를 위해 만든 HomeController에 대한 생성 튼 추가했습니다.

public HomeController(IHttpContextAccessor accessor)
{
}

응용 프로그램을 사용 후 다음 오류가 발생합니다.

InvalidOperationException : 'TestNewCore.Controllers.HomeController'를 활성화하는 동안 'Microsoft.AspNetCore.Http.IHttpContextAccessor'유형에 대한 서비스를 확인할 수 없습니다. в Microsoft.Extensions.Internal.ActivatorUtilities.GetService (IServiceProvider sp, 유형 유형, 유형 requiredBy, 부울 isDefaultParameterRequired)

내 실제 응용 프로그램에서는 IHttpContextAccessor액세스하기 위해 자체 서비스 클래스에서 해결해야 _contextAccessor.HttpContext.Authentication합니다 _contextAccessor.HttpContext.User. Everething은 RC1에서 잘 작동합니다. RC2에 어떻게 어떻게 가정 할 수 있습니까?


IHttpContextAccessor는 더 이상 기본적으로 연결되어 있지 않습니다.

services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

.NET Core 2.1부터를 IHttpContextAccessor싱글 톤으로 등록하기 위해 추가 된 확장 메소드가 있습니다 . IHttpContextAccessor # 947 등록을위한 도우미 추가를 참조 하세요 . ConfigureServices()방법에 다음과 같이 추가하기 만하면 됩니다.

services.AddHttpContextAccessor();

이것은 다음과 가변적입니다.

services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

참고 URL : https://stackoverflow.com/questions/37371264/invalidoperationexception-unable-to-resolve-service-for-type-microsoft-aspnetc

반응형