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>();