我使用HttpRuntime缓存来存储对象列表,并且在我们当前的项目中,指定对象应该被缓存到午夜,所以我使用DateTime.Today.AddHours(24),以便将绝对过期日期设置为午夜。
例如,如果今天是5月26日,则绝对过期时间将设置为5月27日0:00。
但不知何故,当我改变计算机的时钟时,对象仍然在缓存中。我应该等一等吗( CacheItemPriority设置为正常)?我是不是忘了什么?
谢谢
发布于 2010-05-26 19:47:57
它不能保证缓存将在确切的时间过期。在某些情况下,系统内存不足会导致缓存过期。所以,不要认为你放在缓存中的东西会在后面--总是先检查一下。
发布于 2010-05-26 19:50:57
出于以下原因之一,ASP.NET可以从缓存中删除数据:
由于服务器上的内存不足,一个称为scavenging.
expired.
更改。
ASP.NET可以通知您的
从缓存中删除项时的应用程序。
https://stackoverflow.com/questions/2912560
复制相似问题