tengo memoria caché de salida habilitada en una de las páginas de la siguiente manera:invalida salida caché si hay una excepción en la página
<%@ OutputCache Duration="300" VaryByParam="*"%>
El problema es que a veces no es una excepción y nos mostrará un mensaje apropiado. Pero esta página se almacena en caché y otros usuarios también ven el mensaje de excepción. Por ejemplo, supongamos que la base de datos agota el tiempo de espera y, por lo tanto, se lanza una excepción Sql. Esta excepción se detecta y se muestra un mensaje "Error al conectarse a la base de datos. Inténtelo después de un tiempo". Ahora este mensaje se almacena en caché y se muestra a otros usuarios sin siquiera consultar la base de datos.
Lo que quiero hacer es invalidar el caché de salida particular si hay una excepción, o tal vez no caché cuando hay una excepción. ¿Cómo puede hacerse esto?
Esto es para ASP.NET 3.5 Webforms.
+1 pero ¿cuál es el mejor lugar para activar todas las excepciones? En el manejador de excepciones del objeto de la aplicación, o en algún lugar de la página, o finalmente en el método del controlador (si es MVC, y si no es demasiado pronto) o en otro lugar. – Rup