2010-12-22 4 views
0

Ich habe eine Website, die Websiteinhalte basierend auf dem von IIS7 bereitgestellten Domänenhostnamen dynamisch lädt. Alle Domänen teilen eine zwischengespeicherte Sammlung von Einstellungen. Die Einstellungen werden scheinbar bei fast jeder Seitenanforderung aus dem Cache gelöscht. Dies wird überprüft, indem die Zeiten protokolliert werden, zu denen der Cache-Wert null ist und von SQL neu geladen wird. Dieser Code funktioniert wie erwartet auf anderen Servern und Websites. Ist es möglich, dass ASP.NET Cache separat für jeden Domänenhostnamen gespeichert wird?Ist der ASP.NET-Cache für jeden in IIS7 festgelegten Hostheader unabhängig?

Antwort

1

Verschiedene Hostheader für Ihre Site haben keinen Einfluss auf den Cache.

Es gibt einige Gründe, warum Ihr Cache möglicherweise gelöscht wird. Von ganz oben würde ich sagen, dass entweder Ihre AppDomain gelöscht wird, Ihre web.config-Datei aktualisiert wird oder ein Teil des Codes explizit ausläuft/Ihren Cache löscht.

0

Der Cache ist pro Anwendung, würde ich mir ein paar andere Artikel ansehen.

  1. Ist Ihr Anwendungspool Recycling (Timeout, Speichergrenze, Dateiänderungen, andere)
  2. Haben Sie Webgartentechnik aktiviert haben, diese verschiedenen Eimern für jeden Garten Thread erzeugen würde
0

Eine andere Sache, zu überprüfen - wie viel Speicher ist verfügbar? Der ASP.NET-Cache beginnt mit dem Auswerfen von Daten nach links und rechts, sobald er einen Speicher-Crunch erkennt. Denken Sie daran, RAM ist teuer und wertvollen Speicher. . .

+0

Wie sich Wyatt herausstellt, glaube ich, RAM-Verfügbarkeit ist unser Problem. Trotz des Ressourcenmonitors, der viel ungenutzten RAM anzeigt, weist alles darauf hin, dass Cache vom System gelöscht wird, indem versucht wird, Speicher wiederherzustellen. – Corgalore