Frage

Ich bin mit dem Output Attribute meiner Aktion der HTML-Ausgabe auf der Server-Seite cachen.

Fine, es funktioniert, aber jetzt habe ich eine Situation, in der sich der Inhalt ändert selten, aber wenn es funktioniert, ist es von entscheidender Bedeutung für die Benutzer die neuen Daten der nächsten Anfrage zu sehen.

Also, gibt es eine Möglichkeit, die Seiten-Cache-Dauer programmatisch abbrechen?

War es hilfreich?

Lösung

Ja, ist es möglich, unter Verwendung von HttpResponse.RemoveOutputCacheItem Methode . Sehen Sie sich diese Frage:

Andere Tipps

Sie können die OutputCacheAttribute erweitern Sie Ihren eigenen Cache-Mechanismus zu schaffen, die Abhängigkeit ähnlich wie das Original ASP.net-Caching ermöglichen.

Sie können auch benutzen HttpCachePolicy.AddValidationCallback () . Die allgemeine Idee ist, dass, wenn die Seite wiedergegeben wird und in den Cache eingefügt, dieser Rückruf zusammen mit der Seite eingeschoben wird. Auf Seite Abruf aus dem Cache, wird der Rückruf aufgerufen und trifft die endgültige Entscheidung darüber, ob die Cache-Seite veraltet ist (und soll gestartet werden) oder gültig (und soll serviert werden). Sehen Sie sich die AuthorizeAttribute Quelle für ein Beispiel. Wenn eine Seite immer abgestanden ist wirklich selten, obwohl, können Sie besser durch die RemoveOutputCacheItem serviert werden () -Methode wie in der anderen Antwort erwähnt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top