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

Ang*_*ker 3 c# asp.net caching web-services

在我的Web服务应用程序中,我找到了一个向Cache添加项目的代码:

System.Web.Caching.Cache.Insert(cacheKey, item, null, Cache.NoAbsoluteExpiration, 
                            TimeSpan.Zero, CacheItemPriority.Normal, callback);
Run Code Online (Sandbox Code Playgroud)

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

与此同时,我从来没有真正看到任何过期,但我也没有耐心等待.

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

M4N*_*M4N 5

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

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