InvalidOperationException:无法parsing“Microsoft.AspNetCore.Http.IHttpContextAccessor”types的服务

我开始将我的asp.net核心RC1项目转换为RC2,并面临现在IHttpContextAccessor没有解决的问题。

为了简单起见,我使用Visual Studio模板ASP.NET Core Web Application (.Net Framework)创build了新的ASP.NET RC2项目。 比我为HomeController添加了为我创build的模板的构造函数。

 public HomeController(IHttpContextAccessor accessor) { } 

而我开始申请后,我收到下一个错误:

InvalidOperationException:尝试激活“TestNewCore.Controllers.HomeController”时无法parsing“Microsoft.AspNetCore.Http.IHttpContextAccessor”types的服务。 Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider sp,Type type,Type requiredBy,Boolean isDefaultParameterRequired)

在我真正的应用程序中,我需要在我自己的服务类中parsingIHttpContextAccessor以访问_contextAccessor.HttpContext.Authentication_contextAccessor.HttpContext.User 。 Everething在RC1中工作正常。 那么它怎么可能在RC2?

IHttpContextAccessor不再默认连线,你必须自己注册

 services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();