我嘗試添加使用下面的方法添加項目到MemoryCache.Default實例:MemoryCache.Add返回true,但不會增加項目緩存
bool result= MemoryCache.Default.Add(cacheKey, dataToCache, cacheItemPolicy)
結果的值是true,表示該項目已被添加到緩存,但當我試圖立即檢索緩存爲空時。我也嘗試使用Set方法添加項目,其結果與空緩存相同。
緩存具有默認的99Mb內存限制,因此不會顯示爲沒有空間來添加新項目。
任何想法?
private static void InsertCachedData(string cacheKey, object dataToCache, string[] dependantCacheKeys)
{
CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
cacheItemPolicy.AbsoluteExpiration = new DateTimeOffset(DateTime.Now, new TimeSpan(hours: 0, minutes: 0, seconds: 3600));
if (dependantCacheKeys != null && dependantCacheKeys.Length > 0)
{
cacheItemPolicy.ChangeMonitors.Add(MemoryCache.Default.CreateCacheEntryChangeMonitor(dependantCacheKeys));
}
MemoryCache.Default.Add(cacheKey, dataToCache, cacheItemPolicy);
logger.DebugFormat("Cache miss for VehiclesProvider call with key {0}", cacheKey);
}
是'cacheItemPolicy'使用哪些設置? – LukeH 2011-05-19 14:09:33
+ 3600秒&absoluteExpiration = true。 – Jason 2011-05-19 14:49:17