c# - 在 httpcontext asp.net core 上缓存对象

标签 c# asp.net asp.net-mvc asp.net-core-mvc httpcontext

我正在尝试从 .net Framework MVC 5 迁移到 .net core 2.0 MVC

过去的好时光我可以通过调用获取或设置缓存的对象

HttpContext.Current.Application.Lock();
HttpContext.Current.Application["foo"] = bar;
HttpContext.Current.Application.Lock();

但我无法将应用程序的这一部分迁移到 .net 核心。

我如何在核心 2.0 上处理这个问题?

最佳答案

HttpContext.Current.Application 是一项保留的功能,目的是使应用程序更容易从 ASP classic 移植过来。自 ASP.NET 1.0 以来,它已被 HttpContext.Current.Cache 取代,自 .NET 4.0 以来,被 System.Runtime.Caching 取代。

但是,AspNetCore 现在缺少所有这些缓存功能。有一个轻量级缓存选项,IMemoryCache可以用于很多类似HttpContext.Current.Cache的场景。为了获得更大的可扩展性,还有一个 IDistributedCache .

关于c# - 在 httpcontext asp.net core 上缓存对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47461484/

相关文章:

c# - 如何配置 Automapper 4 以允许空目标值

c# - "Member access ' DataType MemberName ' of ' Namespace.ClassName ' not legal on type ' System.Collections.Generic.IEnumerable `1[Namespace.ClassName]."

c# - LINQ:不同值和合并值

c# - 需要先调用 "Initialize"方法的静态类 - 可以吗?

asp.net-mvc - 如何在 ASP.NET MVC 和 Entity Framework 中扩展模型?

asp.net-mvc - 如何在 MVC Web 应用程序中设置浏览器选项卡页面标题?

asp.net - 允许角色不起作用但允许用户在 web.config 中工作

asp.net - 使用 SharpZipLib 在 .net 中通过 http 流式传输 zip 文件

c# - 调用了这两个异常中的哪一个?

asp.net - 大文件上传到asp.net MVC