替换缓存中的不可变项而不触发删除回调
本文关键字:删除 回调 缓存 不可变 替换 | 更新日期: 2023-09-27 18:36:08
好的,所以说每次用户点击我的 Web 服务时,我都会向缓存添加一个项目:
DateTime? token = HttpContext.Current.Get(TimeoutKey) as DateTime?;
int hashkey = (email + password).GetHashCode();
if (token == null)
{
HttpContext.Current.Cache.Add(
hashkey.ToString(),
DateTime.Now,
null,
Cache.NoAbsoluteExpiration,
new TimeSpan(0, 20, 0),
CacheItemPriority.NotRemoveable,
UserTimedOut);
}
else
{
// How to do this without triggering UserTimedOut?
Cache[hashkey.ToString()] = DateTime.Now;
}
你能在DateTime
周围创建一个可变的自定义类包装器,比如UserStateInfo
?