我尝试添加使用下面的方法添加项目到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