ho uscita caching abilitato in una delle pagine come segue:invalidare uscita cache se c'è un'eccezione sulla pagina
<%@ OutputCache Duration="300" VaryByParam="*"%>
Il problema è che a volte v'è un'eccezione e che viene visualizzato un messaggio appropriato. Ma questa pagina viene quindi memorizzata nella cache e anche gli altri utenti visualizzano il messaggio di eccezione. Ad esempio, supponiamo che il database vada in timeout e quindi venga generata un'eccezione Sql. Questa eccezione viene catturata e viene visualizzato un messaggio "Errore durante la connessione al database. Prova dopo un po 'di tempo". Ora questo messaggio è memorizzato nella cache e mostrato ad altri utenti senza nemmeno interrogare il database.
Quindi, ciò che voglio fare è invalidare la particolare cache di output se c'è un'eccezione, o forse non la cache quando c'è un'eccezione. Come si può fare?
Questo è per ASP.NET 3.5 Webform.
+1 ma dov'è il posto migliore da attivare per tutte le eccezioni? Nel gestore delle eccezioni dell'oggetto dell'applicazione, o da qualche parte nella pagina, o infine nel metodo del controller (se è MVC e se non è troppo presto?) O da qualche altra parte? – Rup