📌  相关文章
📜  .net core System.InvalidOperationException:没有注册类型“Microsoft.AspNetCore.Http.IHttpContextAccessor”的服务 - C# (1)

📅  最后修改于: 2023-12-03 15:29:07.722000             🧑  作者: Mango

.NET Core System.InvalidOperationException: 没有注册类型“Microsoft.AspNetCore.Http.IHttpContextAccessor”的服务 - C#

简介

在使用 ASP.NET Core 开发 Web 应用程序时,可能会遇到以下异常:

System.InvalidOperationException: 没有注册类型“Microsoft.AspNetCore.Http.IHttpContextAccessor”的服务

这个异常通常是由于没有在 DI 容器中注册 IHttpContextAccessor 服务引起的。

本文将介绍如何解决这个问题。

解决方案

在使用 IHttpContextAccessor 时,需要确保在 DI 容器中注册了该服务。

可以在 Startup.cs 文件的 ConfigureServices 方法中添加以下代码注册 IHttpContextAccessor 服务:

services.AddHttpContextAccessor();

完整示例:

public void ConfigureServices(IServiceCollection services)
{
    // 注册 IHttpContextAccessor 服务
    services.AddHttpContextAccessor();

    // 其他服务注册
    services.AddControllers();
}

这样就可以解决这个异常了。

总结

本文介绍了解决运行 ASP.NET Core 应用程序时出现 System.InvalidOperationException 异常的方法,大家使用时需要注意注册 IHttpContextAccessor 服务。