我设置了以下代码来创建缓存。在调试中,我将cache
添加到监视列表中,并逐步执行代码。但是当我检查cache
的属性时,在PollingInterval中(只有我可以看到任何与时间相关的地方)它显示Days为0,分钟为2.我尝试了AbsoluteExpiration和SlidingExpiration。
ObjectCache cache = MemoryCache.Default;
CacheItemPolicy policy = new CacheItemPolicy();
//policy.AbsoluteExpiration = DateTimeOffset.Now.AddHours(24.0);
//policy.AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(30.0);
policy.SlidingExpiration = TimeSpan.FromDays(2.0);
cache.Set("Clients", clients, policy);
我甚至尝试使用DateTimeOffset.Now.AddHours(24.0)
作为cache.Set(...)
的第三个参数,而不是CacheItemPolicy。
感谢。
答案 0 :(得分:0)
正如@stuartd在上面的评论中指出的那样,我不应怀疑过期没有得到正确应用。我最终检查了policy.AbsoluteExpiration
,并确认了足够短的时间跨度,缓存到期确实正确应用。再次感谢@stuartd。