¿Cuáles son los principales pros y contra por usar HttpRuntime Cache contra el uso de campo estático simple?HttpRuntime Caché vs. static dictionary/fields
Necesito almacenar datos en el ámbito de toda la aplicación ASP.NET.
HttpRuntime.Cache["MyData"] = someHashtable;
vs
private static System.Collections.Hashtable _myData;
public static System.Collections.Hashtable MyData
{
get
{
if (_myData == null)
{
_myData = new System.Collections.Hashtable();
// TODO: Load data
}
return _myData;
}
}
Lo que más me preocupó cuando uso 'HttpRuntime.Cache' son los conflictos de las claves, cuando tiene una aplicación de gran empresa con mayor cantidad de datos en caché. Pero como yo lo veo, 'HttpRuntime.Cache' tiene una característica más brillante además de la prioridad y el tiempo de caducidad. ** CacheDependencies **. Entonces, incluso cuando quiero tener datos en caché que nunca caducan, con el tiempo cambiarán y este cambio puede ser manejado por las dependencias de la memoria caché (con suerte). –