I Ausgabe-Caching in einer der Seiten aktiviert haben, wie folgt:Output Cache invalidieren, wenn es eine Ausnahme auf der Seite ist
<%@ OutputCache Duration="300" VaryByParam="*"%>
Das Problem ist, dass es manchmal eine Ausnahme und wir zeigen eine entsprechende Meldung. Aber diese Seite wird dann zwischengespeichert und andere Benutzer sehen auch die Ausnahmebedingungsnachricht. Angenommen, die Datenbank hat ein Zeitlimit überschritten und daher wird eine Sql-Ausnahme ausgelöst. Diese Ausnahme wird abgefangen und es wird eine Meldung angezeigt "Fehler beim Herstellen der Verbindung zur Datenbank. Bitte versuchen Sie es nach einiger Zeit". Jetzt wird diese Nachricht zwischengespeichert und anderen Benutzern angezeigt, ohne die Datenbank abzufragen.
Also, was ich tun möchte, ist der bestimmte Ausgabe-Cache ungültig, wenn es eine Ausnahme gibt, oder vielleicht nicht Cache, wenn es eine Ausnahme gibt. Wie kann das gemacht werden?
Dies ist für ASP.NET 3.5 Webforms.
+1 aber wo ist der beste Ort, um für alle Ausnahmen auszulösen? Im Exception-Handler des Anwendungsobjekts oder irgendwo auf der Seite oder schließlich auf der Controller-Methode (wenn es MVC ist, und wenn das nicht zu früh ist?) Oder woanders? – Rup