IMemoryCache被注入而不添加它

时间:2018-06-22 10:08:10

标签: c# asp.net-mvc asp.net-core dependency-injection

我已将应用程序从MemoryCache切换到DistributedSqlServerCache。注释掉services.AddMemoryCache()后,我注意到IMemoryCache仍注入到我的类中。我使用的是aspnet-core 2.1。

将缓存添加到服务的代码:

//services.AddMemoryCache();
services.AddDistributedSqlServerCache(o =>
{
    o.ConnectionString = ConnectionString;
    o.SchemaName = "dbo";
    o.TableName = "tbSessionCache";
});

证明仍然不合格:

enter image description here

为什么会这样?我想我可能无法理解它是如何工作的。非常感谢!

1 个答案:

答案 0 :(得分:0)

在配置Razor视图引擎时,MVC添加了默认的内存缓存实现。缓存标签帮助程序https://github.com/aspnet/Mvc/blob/17d2545b557863955cb5838fa16c6318931ac659/src/Microsoft.AspNetCore.Mvc.Razor/DependencyInjection/MvcRazorMvcCoreBuilderExtensions.cs#L224使用了它。