[IIS 7] Caching-Problem

Thomas D

Erfahrenes Mitglied
Hallo!

Ich habe ein Webprojekt, in dem ich mittels ASP.NET-Handler sowie WCF-Services Dateien am Server verändere. Wenn ich das ganze lokal am ASP.NET Development Server ausführe, dann klappt alles ohne Probleme. Habe das Projekt nun auf einen IIS 7 deployed und bin nun mit dem Problem konfrontiert, dass das Speichern klappt, doch der IIS die geänderten Dateien nicht neu zu cachen scheint. Wenn ich eine XML-Datei ändere, dann schaut das ganze wie folgt aus:

Local Path: z.B.: C:\inetpub\wwwroot\webProject\abc.xml ==> Aktualisierte Datei
Server Path: z.B.: http://189.0.3.5/webProject/abc.xml ==> Alte Datei

Der IIS hat also noch die alte Datei im Cache. Erst nach einem Neustart des IIS bekommt er die aktualisierte Datei rein. EDIT2: Das mit dem Neustart des IIS stimmt doch nicht. Die Datei wird nur dann neu geladen, wenn Sie über den localhost-Path im Browser geladen und reloaded wird. Wo kann ich dieses Verhalten modifizieren, sodass geänderte Dateien gleich automatisch neu gecached werden?

EDIT: Das Lustige ist, dass, wenn ich den Server-Path auf die XML-Datei eingebe, noch die alte zu sehen ist. Drücke ich allerdings mehrmals F5, dann kriegt er irgendwann die aktuelle rein. Firefox gibt also scheinbar stets die alte Version aus, solange man ihm nicht explizit sagt, es gebe eine neue. Wenn ich unter den Firefox-Extras die "Private Daten lösche", dann geht's auch. Dasselbe Problem habe ich im IE 7. Die Pufferung im IIS 7 habe ich bereits komplett abgeschaltet. Hat irgendjemand vielleicht schon Erfahrung mit dieser kruden Browser-Reload-Problematik :confused:? ...
 
Zuletzt bearbeitet:
Hallo Thomas,

einfach nur eine Idee - vielleicht kannst du das Caching-Verhalten im entsprechenden Virtual Host des IIS einstellen? Guck' dir die Tabs dort einfach mal ...

Viele Grüße,
Arne
 
Hallo, Arne!

Das habe ich gemacht - und zwar unter dem Punkt Ausgabezwischenspeicherung. Dort habe ich die Featuereinstellungen insofern bearbeitet, dass sowohl der Cache als auch der Kernelcache deaktiviert wird. Weiters habe ich noch eine Cacheregel hinzugefügt, die regelt, dass diese Einstellungen für alle XML-Dateien durchgeführt wird. Das hat leider nicht geklappt, sodass ich auch noch eine zusätzliche Regelung hinzugefügt habe, die * betrifft (also alle Dateien).

Zudem habe ich auch noch unter Seiten und Steuerelemente die Pufferung abgeschalten + den Anzeigezustand jeweils auf False gesetzt. Natürlich habe ich stets den IIS komplett neugestartet + Verlauf im Firefox löschen + Neustarten von Firefox. Doch das hat leider alles nichts geholfen. Blöder IIS :mad: ...

BTW: Habe das ganze natürlich auch auf zwei verschiedenen Rechnern probiert mit jeweils demselben negativen Resultat. Auch ältere Backup-Versionen des Codes funktionieren nicht am IIS 7.
 
Ich habe es jetzt hinbekommen ;-)! Unter Ausgabezwischenspeicherung musste ich sowohl den Cache, als auch den Kernelcache aktivieren und anschließend eine Ausgabenzwischenspeicherungsregel für alle XML-Dateien hinzufügen, mit jeweils der Option Dateiänderungsbenachrichtigung verwenden. Jetzt läuft's wie gewünscht :) ...
 

Neue Beiträge

Zurück