Frage

Ok, seltsame Einrichtung, seltsame Frage. Wir haben für unsere SaaS-Anwendung, laufen auf asp.net-2.0 / iis-6 ein Client und eine Admin Web-Anwendung bekommen. Die Admin-Anwendung kann Optionen auf der Client-Anwendung angezeigt ändern. Wenn diese Optionen im Admin gespeichert nennen wir einen Webservice auf dem Client, von dem Admin, unseren Cache der Optionen für das jeweilige Konto zu spülen.

Seit kurzem bieten wir unseren Client-Anwendung> 1 Worker-Prozesse, so dass die Cache-Optionen verursacht nur auf 1 der aktuell laufenden Arbeitsprozesse gelöscht werden.

Also, ich habe natürlich andere Wege der Festsetzung dieses Problems (aber Eingang geschätzt), aber Meine Frage ist: ist es eine Möglichkeit, über eine Web-Anforderung durch die einzelnen Arbeitsprozesse zum Ziel / iterieren?

War es hilfreich?

Lösung

Ich mache einige Annahmen hier für diese Antwort ....

  1. Ich gehe davon aus der Client-Anwendung eine der .NET-Caching-Klassen wird mit Ihrer Anwendung Optionen speichern?

  2. Wenn Sie sagen, 'Flush' meinen Sie sie zurück in eine Konfigurationsdatei oder db-Tabelle spülen?

Da die Cache-Objekte und Daten werden nicht zwischen Prozessen geteilt werden Sie einen Mechanismus benötigen, um den Code zu signalisieren, auf dem anderen Arbeitsprozess ausgeführt wird, der es braucht wieder las es Optionen in seinen Cache oder den Prozess zwingen, neu zu starten ( das ist nicht gerade bequem und wahrscheinlich unerwünscht).

Wenn Sie keinen Zugriff auf die Client Quelle haben zu ändern, entweder die Optionen config-Datei oder DB-Tabelle zu sehen (sagen sie mit einem SqlCacheDependency) Ich glaube, du bist ein bisschen mit diesem Verhalten stecken.

Andere Tipps

Ich habe vollen Zugang zum Admin und Client, von Cache, ich meine .net der Cache-Objekt. Durch bündig meine Entfernen ich das Element aus dem Cache-Objekt.

Ich bin mir bewusst, dass beide Worker-Prozesse die Cache-Daten nicht teilen. Das ist irgendwie mein conundrum)

Das System ist so, wie es ist, die Notwendigkeit zu entfernen SQL jede neue Sitzung zu treffen, die in kommt. Also, die ich versuche, eine Lösung zu finden, können jeden Arbeitsprozess nur sagen, dass der Cache gelöscht werden muss, w / o für sQL beteiligt.

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