estoy tratando de añadir elementos a la instancia MemoryCache.Default utilizando como a continuación el método Add:MemoryCache.Add devuelve verdadero, pero no añadir el artículo a almacenar en caché
bool result= MemoryCache.Default.Add(cacheKey, dataToCache, cacheItemPolicy)
El valor del resultado es verdadero, lo que indica que el elemento se ha agregado a la memoria caché, pero cuando intento recuperarlo inmediatamente después, la memoria caché está vacía. También intenté agregar el artículo usando el método Set con el mismo resultado de un caché vacío.
La memoria caché tiene el límite de memoria predeterminado de 99 Mb, por lo que no parece que no haya espacio para agregar elementos nuevos.
¿Alguna idea?
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);
}
¿Qué ajustes se 'cacheItemPolicy' usando? – LukeH
+3,600 segundos y absoluteExpiration = true. – Jason