【发布时间】:2010-09-25 07:26:57
【问题描述】:
我使用 ASP.NET 缓存缓存了一个值,代码如下:
Cache.Insert("TEST_VALUE", 150, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(120));
据我了解,这应该意味着如果 120 秒内没有任何东西访问该对象,它将过期并返回 null。
但是,如果 10 分钟后我运行一个从缓存中写出该值的页面,它仍然存在(实际上在一小时后仍然存在)。我知道没有其他东西可以访问它,因为这一切都在我机器上的本地服务器上。
谁能告诉我为什么这些值没有从缓存中清除?
谢谢,我明白你的意思了,但是我的 HttpModule 会在将任何内容插入缓存之前检查请求的类型,所以它只会在表单上传时发生。
无论如何,我已经尝试了您的建议,当我刷新显示缓存值的页面时,断点永远不会被命中。
我假设即使从缓存中读取也应该延长对象的生命周期,所以我在刷新“调试”页面之前将其保留 5-10 分钟,但值仍然存在!
【问题讨论】:
-
我正在从 HttpModule 中进行缓存。