ASP中的Cache.NoSlidingExpiration - 什么时候重置?

Jor*_*ris 6 c# asp.net caching

我找到了一个类似问题的答案(asp.net c#中的System.Web.Caching.Cache.NoSlidingExpiration)并按照链接,但我需要更多我找不到的具体信息.

当您"访问"它时,NoSlidingExpiration不会重置.但是,这是否意味着你读它?或者当你写它?

例如,如果我这样做

Cache.Insert("mykey", 42, null, DateTime.Now.AddMinutes(20), System.Web.Caching.Cache.NoSlidingExpiration);
Run Code Online (Sandbox Code Playgroud)

然后10分钟后,我做:

Cache.Insert("mykey", 42, null, DateTime.Now.AddMinutes(20), System.Web.Caching.Cache.NoSlidingExpiration);
Run Code Online (Sandbox Code Playgroud)

再次,是否会调整到期日?

谢谢!

Jas*_*ans 8

根据关于Cache.NoSlidingExpiration的MSDN文档

使用时,此字段将slidingExpiration参数设置为TimeSpan.Zero字段,该字段的常量值为零.缓存的项目将根据与Insert或Add方法调用关联的absoluteExpiration参数到期.

这意味着当你打电话时,Add或者你在该电话中给出的Insert任何absoluteExpiration价值将用于使该项目到期.所以在你的例子中:

DateTime.Now.AddMinutes(20)

表示该项目将在20分钟后重置.