Pregunta

Estoy usando el atributo OutputCache para almacenar en caché el resultado html de mi acción en el lado del servidor.

Bien, funciona, pero ahora tengo una situación en la que el contenido cambia raramente, pero cuando lo hace, es fundamental que el usuario vea los nuevos datos en la próxima solicitud.

Entonces, ¿hay una manera de abortar la duración del caché de la página programáticamente?

Otros consejos

Puede extender el atributo OutputCacheAttribute para crear su propio mecanismo de caché que permita una dependencia similar al almacenamiento en caché de ASP.net original.

También puede usar HttpCachePolicy.AddValidationCallback) . La idea general es que cuando la página se representa y se inserta en el caché, esta devolución de llamada se inserta junto con la página. Tras la recuperación de la página desde el caché, se invoca la devolución de llamada y toma la determinación final de si la página almacenada en caché es obsoleta (y debe ser iniciada) o válida (y debe estar servida). Consulte el AuthorizeAttribute source para ver un ejemplo. Sin embargo, si una página que esté obsoleta es realmente rara, es posible que el método RemoveOutputCacheItem () le sirva mejor, como se menciona en la otra respuesta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top