在ASP.NET 2.0中的特定时间清除缓存

所以我有一个在午夜运行的进程,它为flash对象设置一个起点和终点.这只需要每天运行一次,所以我显然是在缓存结果集.

但是,我遇到的问题是,如果数据仍然在midnite之后缓存,则它不会提取最正确的数据,直到缓存过期.

我基本上需要缓存在晚上11:59:59到期,以便在凌晨12:00获得正确的数据.

我猜测桌面上的SQL缓存依赖性我将从中提取数据是理想的,但我以前从未设置过.

有没有办法告诉缓存在正确的midnite删除特定的项目?

多谢你们!

– 绝对期满—

我想我明白了:

DateTime expireWeights = new DateTime(DateTime.Now.Year,DateTime.Now.Month,DateTime.Now.Day,23,59,999);
Cache.Insert("CacheItemName",itemToCache,null,expireWeights,System.Web.Caching.Cache.NoSlidingExpiration);

解决方法

您可以在Cache对象上设置absoluteExpiration时间,该时间是DateTime.

您还可以将absoluteExpiration与SqlCacheDependency结合使用.

关于缓存过期时不提取新数据的问题:您可以连接CacheItemRemovedCallback以接收其到期时间的通知,并在此时刷新缓存.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。