5

我们可以为 HttpRuntime 缓存中的项目设置的最长过期时间是多少...?
还有什么是默认到期时间..?

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”。
我们可以在这里提供的最大值是多少……?

如果我提供 2014 年 5 月 10 日,那么该项目会在缓存中长期可用吗...?
(此查询与 AppFabric 缓存的实现有关。尝试将 Httpruntime 缓存替换为 AppFabric 缓存)。

4

2 回答 2

5

AbsoluteExpiration 的最大值基本上是 NoAbsoluteExpiration。要设置它,您将传递它这个字段:

Cache.NoAbsoluteExpiration

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

于 2013-05-10T13:58:49.820 回答
0

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

于 2013-05-10T14:06:27.040 回答