首页 > 解决方案 > 什么相当于 .net Core 中的 asp.net 缓存

问题描述

我想为 .net 核心系统中的所有用户共享特定数据,就像我们在 MVC5 中所做的一样

我检查了 InMemoryCache 并用它来保存数据,但是 Unfortnality,每个用户单独共享数据

如果我使用,我在 MVC 5 中的意思

HttpContext.Current.Cache["xyz"] = "Test Value"

第二个用户登录并调用

HttpContext.Current.Cache["xyz"] 

新用户将获得结果“测试值”,如果他将此值更改为其他值,第一个用户将看到此更改

但是在使用 InMemory Cache 的 .net 核心中,我找不到在系统用户之间共享数据的任何选项

_cache.Set("xyz","Test Value);

其他用户将无法检索 xyz 键的值

我在启动时设置 InmemoryCache 值

标签: c#asp.net-core

解决方案


如果多个用户(线程)试图同时访问IMemoryCache资源,那么您应该使用锁来处理其访问。

否则,第二个用户将在缓存中看不到任何结果。

这是处理服务的好文章SemaphoreIMemoryCache


推荐阅读