c# - Net Core MemoryCache 不会根据请求重置
问题描述
.Net 核心 3.0。我有一个回购 IMemoryCache 被注入的地方。Repo 注册为 Transient。我希望每次请求都清除/重置缓存,但这并没有发生。它保留从上一个请求中插入的数据。如何使 MemoryCache 根据请求重新创建?
public OrganizationRepository(
IMemoryCache cache)
{
m_cache = cache;
// cache still has data in entries for subsequent requests
}
注册:
services.AddTransient<IOrganizationRepository, OrganizationRepository>();
解决方案
这似乎有效:
services.AddScoped<MemoryCache, MemoryCache>();
然后将其作为 MemoryCache 注入