You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6 WEB API使用MemoryCache报错:无法解析IMemoryCache服务

解决.NET 6 Web API中IMemoryCache服务无法解析的问题

问题原因

你遇到的错误是因为未在依赖注入容器中注册MemoryCache服务,同时手动实例化MemoryCache的写法不符合.NET依赖注入规范,还可能引发资源管理问题。

修复步骤

1. 在Program.cs中注册MemoryCache服务

打开项目根目录的Program.cs,在服务构建阶段添加以下代码:

var builder = WebApplication.CreateBuilder(args);

// 将MemoryCache服务注册到依赖注入容器
builder.Services.AddMemoryCache();

// 其他服务注册代码...

var app = builder.Build();

// 中间件配置代码...

app.Run();

2. 修改控制器代码,通过依赖注入获取IMemoryCache

把控制器中手动实例化MemoryCache的逻辑改成构造函数注入IMemoryCache接口:

public class myController : Controller
{
    private readonly IMemoryCache _memoryCache;

    // 通过构造函数注入IMemoryCache实例
    public myController(IMemoryCache memoryCache)
    {
        _memoryCache = memoryCache;
    }
    
    [HttpPost]
    public async Task<IActionResult> myAPI(Model modelS)
    {
        var users = _memoryCache.Get("UserData");
        // 后续业务逻辑...
        return Ok();
    }
}

说明

  • 依赖注入模式能让框架统一管理IMemoryCache的生命周期,避免手动实例化带来的资源泄漏风险。
  • 注册AddMemoryCache()后,依赖注入容器才能正确识别并解析IMemoryCache服务,彻底解决你遇到的错误。

内容的提问来源于stack exchange,提问作者user20528130

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 10:30:50