页面输出缓存3600秒   protected void Application_Start(Object sender, EventArgs e)
{
   //定时更新开始(自动更新数据库)
   //时间间隔为3600秒       假设更新数据库需要花费5分钟,那么页面缓存就错过了更新时机。该如何解决 
}

解决方案 »

  1.   

    缓存当然在依赖条件一旦不满足之后立刻过期。Duration仅是其中最简单的一种依赖项。msdn、网上的资料足够了,你可以稍微深入一点去看。
      

  2.   

    我的想法是这样的:
    应用程序开始的时候每一个小时向数据库更新数据一次我有个自定义控件从数据库中读取数据,一个小时一次,以输出缓存的方式进行判断
    (<%@ OutputCache Duration="3600" VaryByParam="none" VaryByCustom="none" %>)不管数据库中的数据是否最新,每一个小时都要从数据库中读取数据protected void Application_Start(Object sender, EventArgs e)
    {
        //必须在页面缓存过期前,获得数据,必须避免错过更新时机
    }
      

  3.   

    不知道你为何总是把Duration与“避免错过更新时机”纠缠在一起给自己设置困难。这两个根本事就是两个不同的缓存依赖项,不要纠缠在一起说。