如下所示的代码出现在某一个页面或者某个类中HttpContext.Current.Cache["TrainFields"] = DBAccess.GetDataTable("SELECT * FROM TrainFields");
那么Cache["TrainFields"] 是什么时候变成null的? 有相关的设置生命周期的方法吗?

解决方案 »

  1.   

    自己写个cache类
    自定义周期,可以分 分钟,小时,天来定义的.
      

  2.   

    我曾经自己定义过一个cache对象,可是使用new cache().Insert("",*)的时候总是NullReferenceException
    我确定我所引用的对象都不是null,死活搞不明白为什么
    到现在也没明白
      

  3.   

    cache是页面对象,在*.aspx.cs中引用直接用this.cache就可以用上
    但是在其他地方,比如App_Code文件夹中如果要用,就必须System.Web.HttpContext.Current.Cache可以使用
    用new cache().Insert("",*)引用是不行的,只能用System.Web.HttpContext.Current.Cache至于如何设置过期时间,看下面的代码就知道了设置 Cache 的过期时间 
    Cache.Insert("DSN", connectionString, null, DateTime.Now.AddMinutes(2), TimeSpan.Zero);