c# - MemoryCache.Default 在 .NET Core 中不可用?

标签 c# .net dnx memorycache coreclr

我正在将一些代码从 .NET 4.6 移植到 .NET Core,但在使用 MemoryCache 时遇到了一些问题。 4.6 代码使用 MemoryCache.Default 来实例化缓存,但这在 .NET Core 中似乎不可用。在 .NET Core 中是否有与此等效的东西,或者我应该将自己的 MemoryCache 更新为单例并通过 IOC 注入(inject)它?

最佳答案

System.Runtime.Caching.MemoryCache 和 Microsoft.Extensions.Caching.Memory.MemoryCache 是完全不同的实现。

它们很相似,但有不同的问题/注意事项。

System.Runtime.Caching.MemoryCache 是旧版本 (4.6),它基于 ObjectCache,通常如您所述通过 MemoryCache.Default 使用。它实际上可以通过 .Net 标准格式的 NuGet 库在 .Net Core 中使用。 https://www.nuget.org/packages/System.Runtime.Caching/

Microsoft.Extensions.Caching.Memory.MemoryCache 是新的 .NET 核心版本,通常用于较新的 ASP 核心应用程序。它实现了 IMemoryCache 并且通常添加到服务中,如上文所述@Bogdan

https://github.com/aspnet/Extensions/blob/master/src/Caching/Memory/src/MemoryCache.cs https://www.nuget.org/packages/Microsoft.Extensions.Caching.Memory/

关于c# - MemoryCache.Default 在 .NET Core 中不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33822333/

相关文章:

c# - 如何处理将父对象作为参数传递?

.net - 是否可以构建双击时不显示控制台窗口的控制台应用程序?

c# - 为什么 DNX 运行代码两次

c# - 如何在AutoMapper的MapperConfiguration中使用mapper.Map?

c# - Xamarin Plugin.BLE 为什么数据读取没有改变?

c# - 无法将类型 'Program.Data.View' 隐式转换为 System.linq.iqueryable<Program.Data.View>。

c# - 具有 SSO 的自托管 WCF 服务器

c# - 用于在 CLR 上实现语言的书籍和文献

visual-studio-2015 - dnx-clr-win-x86.1.0,0,rc1-final 和 dnx-clr-win-x86.1.0,0.rc1-update1 的区别

msbuild - 使本地 TFS 构建代理使用 v14 msbuild 工具