我已将应用程序从MemoryCache切换到DistributedSqlServerCache。注释掉services.AddMemoryCache()后,我注意到IMemoryCache仍注入到我的类中。我使用的是aspnet-core 2.1。
将缓存添加到服务的代码:
//services.AddMemoryCache();
services.AddDistributedSqlServerCache(o =>
{
o.ConnectionString = ConnectionString;
o.SchemaName = "dbo";
o.TableName = "tbSessionCache";
});
证明仍然不合格:
为什么会这样?我想我可能无法理解它是如何工作的。非常感谢!
答案 0 :(得分:0)
在配置Razor视图引擎时,MVC添加了默认的内存缓存实现。缓存标签帮助程序https://github.com/aspnet/Mvc/blob/17d2545b557863955cb5838fa16c6318931ac659/src/Microsoft.AspNetCore.Mvc.Razor/DependencyInjection/MvcRazorMvcCoreBuilderExtensions.cs#L224使用了它。