使用TimeSpan.Zero作为Expiration将项目添加到Cache时会发生什么?

时间:2011-07-07 21:37:35

标签: c# asp.net web-services caching

在我的网络服务应用中,我找到了一个将项目添加到缓存中的代码:

System.Web.Caching.Cache.Insert(cacheKey, item, null, Cache.NoAbsoluteExpiration, 
                            TimeSpan.Zero, CacheItemPriority.Normal, callback);

在这种情况下,似乎没有绝对过期,并且SlidingExpiration被设置为TimeSpan.Zero,这对我来说意味着项目应该立即过期。

与此同时,我从来没有真正看到任何过期,但是,我没耐心地坐在那里等待。

那么在这种情况下会发生什么?当SlidingExpiration为零时,是否存在一些默认值?或者它永不过期

1 个答案:

答案 0 :(得分:5)

这等于传递Cache.NoSlidingExpiration,所以是的,该项永远不会过期(除非由于可​​用内存量较少)。

静态成员Cache.NoSlidingExpiration已初始化为TimeSpan.ZeroCache.NoAbsoluteExpiration已初始化为TimeSpan.MaxValue