什么是HttpRuntime Cache中的项目的到期时间....

时间:2013-05-10 13:54:06

标签: c# asp.net httpruntime.cache

我们可以在HttpRuntime Cache中为项目设置的最长到期时间是多少?
什么是默认的到期时间..?

public static void Add(string pName, object pValue)
{
  System.Web.HttpRuntime.Cache.Add(pName, pValue, null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.High, null);
}

在上面的代码中,第4个参数是'absoluteExpiration'。
这里我们可以提供的最大值是多少??

如果我提供10-05-2014,那个项目可以在缓存中长期使用吗?
(此查询与AppFabric缓存的实现有关。尝试用AppFabric Cache替换Httpruntime Cache。)

2 个答案:

答案 0 :(得分:3)

AbsoluteExpiration的最大值基本上是NoAbsoluteExpiration。要设置此项,您可以将此字段传递给它:

Cache.NoAbsoluteExpiration

除此之外,你可以使用你想要的任何值,只要你告诉它,它就会缓存它。 但是,这当然假设您的服务器没有被重置,您没有清除AppFabric的缓存等(如果您使用HttpRuntime.Cache,那么您的应用程序仍然存在就必须存在)

答案 1 :(得分:0)

默认设置是iis的应用程序池在应用程序的某个时间间隔后回收。这将停止您的应用程序,然后缓存将被清空,因此设置比应用程序池回收超时更长的时间将不起作用。 我认为缓存的目的不是让对象永远存在,而是通过让它们保持活力一段时间来提高性能。