Frage

Ist es möglich, aus dem Innern einer anderen asp.net Web-Anwendung den Ausgabecache von einer asp.net Web-Anwendung zu löschen?

Grund dafür ist ... Wir haben mehrere wep Anwendungen strukturiert wie ...

Seiten in / area1 / und / area2 / werden zwischengespeichert und verwaltet durch / Intranet / cms /. Wenn eine Seite bearbeitet wird unter Verwendung von / Intranet / cms / will ich es in der entsprechenden / Gebiet # / Anwendung aus dem Cache löschen.

Ich habe bereits versucht, eine VaryByCustom verwenden, die eine GUID in der HttpContext.Cache gespeichert nachschlägt, aber das scheint per Web-Anwendung im Cache gespeichert werden, das nicht funktioniert.

Wirklich, wenn es irgendeine Art und Weise war auf einem einzigen Server Daten zwischen Web-Anwendungen vorbei, die mein Problem lösen würden, da ich, dass + VaryByCustom verwenden kann.

Danke!

-Mike Thomas

War es hilfreich?

Lösung

So wie ich dies in der Vergangenheit getan haben, ist eine „versteckte“ Seite zu haben (in jeder der /areaX Sites), die die Spülung der Fall ist, neu zu laden, usw. Die Seite bestätigt einen gemeinsamen geheimen Abfrageparameter, bevor irgendetwas zu tun ( DoS-Angriffe zu vermeiden). Wenn gültige die Seite ausgeben würde ein „OK“ -Nachricht, sobald der Vorgang abgeschlossen ist; wenn erzeugt einen 404-Fehler das Geheimnis ungültig ist.

Wenn Sie die Flush wollen auf einer pro-Element sein oder Gruppenbasis dann einen zweiten Parameter hinzufügen, die das Element / Gruppe identifiziert.

Diese Methode ist auch Server-Technologie unabhängig und kann von anderen Management-Tool ausgelöst werden, falls erforderlich.

Andere Tipps

Ein Weg, ich weiß, dies zu tun, ist durch eine gemeinsam genutzte Ressource als Abhängigkeit, in der Regel einer Datei. Wenn die Datei geändert wird, wird der Cache gelöscht. Ich glaube, Sie können HttpResponse.AddFileDependency hierfür.

Doch in diesen Fällen ist es meist besser, ein Out-of-Process-Cache zu verwenden, wie zum Beispiel Memcached . Ich habe es selbst nicht getestet, aber diese Link Angebote für mit Output memcached verwendet wird.

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