【发布时间】:2022-01-22 21:04:48
【问题描述】:
我将 ObjectCache 对象用作MemoryCache.Default (System.Runtime.Caching),并且我的策略包含 AbsoluteExpiration。
例如:
ObjectCache cache = MemoryCache.Default
cahce.Add(key, reading, new CacheItemPolicy { AbsoluteExpiration = DateTimeOffset.Now.AddSeconds(20)});
我想在对象被删除之前保存它。
是否可以在项目从缓存中删除之前捕获过期事件?
【问题讨论】:
-
new CacheItemPolicy { ... , RemovedCallback = ev => { //save ev.CacheItem }}?虽然它发生在物品被移除之后,但对你来说有什么真正的不同吗?为什么? -
还有一个
UpdateCallback,在项目被移除之前被调用 -
谢谢,可以举个例子吗?
-
@fatalica 的例子到底是什么?
-
感谢@GuruStron,我能够按照你的描述使用回调
标签: c# caching .net-framework-4.8