相关疑难解决方法(0)

如何清除System.Runtime.Caching.MemoryCache

我使用a System.Runtime.Caching.MemoryCache来保存永不过期的物品.但是,有时我需要能够清除整个缓存.我怎么做?

在这里问了一个类似的问题,我是否可以枚举缓存,但这是一个坏主意,因为它需要在枚举期间进行同步.

我尝试过使用.Trim(100)但根本不起作用.

我已经尝试通过Linq获取所有密钥的列表,但后来我回到了我开始的地方,因为一个接一个地逐出项目很容易导致竞争条件.

我想存储所有的密钥,然后.Remove(key)为每个密钥发出一个,但是那里也有一个隐含的竞争条件,所以我需要锁定对密钥列表的访问,然后事情再次变得混乱.

然后我认为我应该可以调用.Dispose()整个缓存,但我不确定这是否是最佳方法,因为它的实现方式.

使用ChangeMonitors不是我的设计的选项,并且对于这样一个微不足道的要求是不必要的.

那么,我该如何彻底清除缓存呢?

c# asp.net caching .net-4.0

38
推荐指数
4
解决办法
4万
查看次数

标签 统计

.net-4.0 ×1

asp.net ×1

c# ×1

caching ×1