在C#中确认缓存过期日期/时间

时间:2016-09-28 19:29:05

标签: c# caching

我设置了以下代码来创建缓存。在调试中,我将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。

感谢。

1 个答案:

答案 0 :(得分:0)

正如@stuartd在上面的评论中指出的那样,我不应怀疑过期没有得到正确应用。我最终检查了policy.AbsoluteExpiration,并确认了足够短的时间跨度,缓存到期确实正确应用。再次感谢@stuartd。