Quiero recuperar todos los objetos de caché que se agregan mediante MemoryCache .
Intenté lo siguiente pero no los está recuperando.
System.Web.HttpContext.Current.Cache.GetEnumerator(); System.Web.HttpRuntime.Cache.GetEnumerator();Nota: Recuperar todo significa no solo lo que sé y creé, me refiero a cada objeto de caché que se crea en la aplicación.
Esto es lo que encontré (puede ayudar a alguien)
foreach (var item in MemoryCache.Default) { //add the item.keys to list } return list;Aquí hay una mejor manera de enumerar y obtener el resultado:
public virtual List<T> GetCache<T>() { List<T> list = new List<T>(); IDictionaryEnumerator cacheEnumerator = (IDictionaryEnumerator)((IEnumerable)Cache).GetEnumerator(); while (cacheEnumerator.MoveNext()) list.Add((T) cacheEnumerator.Value); return list; }Esto también debería funcionar: MemoryCache.Default.ToList();