我有如下代码。当我第一次打开页面时,我从查询中获取数据,随后打开页面时,我从缓存中获取数据并且查询没有运行。但是当我稍后打开页面时,比如 2 小时后,我没有从缓存中获取数据,而是查询再次运行......如果绝对过期设置为 26 小时以上,为什么缓存之后不再可用2小时?我在这里想念什么?有一些全局参数来配置 IIS 或类似的最大缓存时间?
System.Data.DataTable dtData;
string cacheKey = "table_data";
if (Cache.Get(cacheKey) != null)
dtData = (System.Data.DataTable)Cache.Get(cacheKey);
else
{
dtData = QueryData;
Cache.Insert(cacheKey, dtData, null, DateTime.Now.AddHours(26), TimeSpan.Zero);
}