小编典典

InvalidOperationException:无法解析类型“Microsoft.AspNetCore.Http.IHttpContextAccessor”的服务

all

我开始将我的 asp.net core 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, Type type, Type requiredBy, Boolean isDefaultParameterRequired)

在我的实际应用程序中,我需要IHttpContextAccessor在我自己的服务类中解析才能访问_contextAccessor.HttpContext.Authentication和访问_contextAccessor.HttpContext.User.
Everthing 在 RC1 中运行良好。那么它怎么可能在 RC2 中呢?


阅读 86

收藏
2022-06-30

共1个答案

小编典典

IHttpContextAccessor 默认不再绑定,需要自己注册

services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
2022-06-30