15 .net c# asp.net .net-core webapi
我有一个WEB API使用.NET 6的系统。我使用MemoryCache来存储数据。但是当我运行 Api 时,出现以下错误:
无法解析类型“Microsoft.Extensions.Caching.Memory.IMemoryCache”的服务
我的控制器:
public class myContoroler : Controller
{
private readonly MemoryCache _memoryCache = new MemoryCache(optionsAccessor: null);
[HttpPost]
public async Task<IActionResult> myAPI(Model modelS)
{
var users = _memoryCache.Get("UserData")
...
}
}
Run Code Online (Sandbox Code Playgroud)
小智 36
在您的Startup.cs文件中,您需要介绍MemoryCache:
public void ConfigureServices(IServiceCollection services)
{
services.AddMemoryCache();
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
如果没有Startup.cs文件,这应该在Program.cs(在 中.NET 6.0,Startup.cs 类被删除,Program.cs 类是注册应用程序和中间件的依赖项的地方。)
builder.Services.AddMemoryCache();
Run Code Online (Sandbox Code Playgroud)
还建议使用依赖注入来MemoryCache在控制器中使用:
public class myContoroler : Controller
{
private readonly IMemoryCache _memoryCache;
public myContoroler(IMemoryCache memoryCache)
{
_memoryCache = memoryCache;
}
[HttpPost]
public async Task<IActionResult> myAPI(Model modelS)
{
var users = _memoryCache.Get("UserData")
...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10802 次 |
| 最近记录: |