所以我有在午夜其设定用于闪光对象的开始和结束点运行的进程。这只需要每天运行一次,所以我显然缓存结果集。

不过,我运行到的是,如果数据midnite后仍缓存,它不是在最正确的数据拉动的问题,直到缓存过期。

基本上,我需要缓存下午11:59:59到期,所以在12:00 AM它得到正确的数据。

我在我从拉数据将是理想的表猜测SQL缓存依赖,但是我从来没有设置了。

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

谢谢你们!

- 绝对过期---

我想我明白了:

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

解决方案

可以缓存对象,它是一个DateTime上设置absoluteExpiration时间。

您也可以用的SqlCacheDependency结合的absoluteExpiration。

关于在缓存过期时它不拉新数据的问题:你就可以将一个CacheItemRemovedCallback当时收到通知何时到期,并刷新缓存

其他提示

我不明白为什么你有绝对过期的问题吗?您可以指示确切的日期时间进行该产品将从高速缓存过期。因此,下面的代码行将插入“myObject的”成键“的myKey”下的高速缓存和在午夜第二天将过期(无论何时它enteres高速缓存的)。

Cache.Insert("MyKey", myObject, null, DateTime.Today.AddDays(1), TimeSpan.Zero);

如果你看看这里,下“基于时间的依赖”,它显示了如何设置的项目在特定时间到期。这就是你要找的是什么?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top