当页面上没有用户时,CacheIin与CacheItemRemoveCallback一起运行吗?

时间:2016-01-22 20:58:39

标签: c# .net caching

我使用缓存插入每20分钟刷新一次页面缓存,例如: Cache.Insert(“x”,foo,null,Cache.NoAbsoluteExpiration,TimeSpan.FromMinutes(20)CacheItemUpdateCallback)

我想知道即使页面上没有当前用户,缓存每20分钟会刷新一次吗?

2 个答案:

答案 0 :(得分:1)

是的,Cache不是页面级参考。 “每个应用程序域创建一个此类的实例,只要应用程序域保持活动状态,它就仍然有效。”

答案 1 :(得分:0)

是的,即使当前没有用户向您的页面发出请求,也会执行回调。但是您应该注意一件事 - 您正在使用的缓存是内存缓存。如果满足某些条件,您的ASP.NET应用程序可以被Web服务器回收:高CPU使用率,高内存消耗,......如果您的应用程序被回收,则不会调用回调,因为保存在内存中的所有状态都将是丢失。