【问题标题】:What happens when I add item to Cache with TimeSpan.Zero as Expiration?当我使用 TimeSpan.Zero 作为过期将项目添加到缓存时会发生什么?
【发布时间】:2011-07-07 21:37:35
【问题描述】:

在我的 Web 服务应用程序中,我找到了将项目添加到缓存的代码:

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

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

同时,我实际上从未见过任何东西过期,而且,我没有足够的耐心坐在那里等待。

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      相关资源
      最近更新 更多