2009-09-14 11 views

Respuesta

15

"Nunca", es decir, tan pronto como la memoria es baja y ASP.NET Cache cree que tiene algo más importante que conservar.

+0

¿Se va a eliminar el objeto del caché al reiniciar el iis/grupo de aplicaciones bajo el cual se está ejecutando el sitio web? En resumen, ¿hay alguna conexión entre iis/grupo de aplicaciones y el caché? – Nirlep

+1

Sí, todos sus elementos de caché se habrán ido si su grupo de aplicaciones o su aplicación (cambio en la carpeta BIN o web.config) se reinicia, siempre que no utilice ningún proveedor de caché fuera de proceso. Así que en realidad es lo que es: un caché. No lo uses para nada más. Nunca se puede hacer suposiciones sobre lo que hay allí (solo lo que no debería estar allí). – realMarkusSchmidt

8

Esto insertará el objeto sin un conjunto de caducidad explícito. Esto significa que el objeto no se eliminará automáticamente de la memoria caché, a menos que el tiempo de ejecución decida eliminar cosas de la memoria caché debido al alto uso de memoria.

Calling esta sobrecarga es lo mismo que llamar

Cache.Insert(
    key, value, 
    null,      /*CacheDependency*/ 
    NoAbsoluteExpiration,  /*absoluteExpiration*/ 
    NoSlidingExpiration,  /*slidingExpiratioin*/ 
    CacheItemPriority.Normal, /*priority*/ 
    null      /*onRemoveCallback*/ 
); 

Por cierto: se puede usar .NET reflector para averiguar estas cosas.

Cuestiones relacionadas