IIS liefert veraltete Inhalte, wenn Sie die Inhalte auf einer VHD speichern
Dieser Artikel hilft Ihnen, das Problem zu umgehen, bei dem Internetinformationsdienste (IIS) veraltete Inhalte liefert, wenn Sie den Inhalt auf einer virtuellen Festplatte (Virtual Hard Drive, VHD) speichern.
Ursprüngliche Produktversion: Internetinformationsdienste 8.0
Ursprüngliche KB-Nummer: 2814040
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
- Sie hosten eine Webanwendung in IIS 8.0 oder früheren Versionen.
- Sie haben den Inhalt für Ihre Webanwendung in einer VHD gespeichert.
- Wenn Sie eine Aktualisierung des Inhalts vornehmen, z. B. eine neue Version einer Bilddatei hinzufügen oder Text auf einer Seite bearbeiten, erwarten Sie, dass der aktualisierte Inhalt eingehenden Webanforderungen bereitgestellt wird.
In diesem Szenario wird der aktualisierte Inhalt nicht angezeigt, und eingehende Webanforderungen werden mit der alten Inhaltsversion beantwortet.
Ursache
Dieses Verhalten tritt auf, weil Dateiänderungsbenachrichtigungen (File Change Notifications, FCN) nicht über Bereitstellungspunkte durchlaufen werden. Da HTTP.sys nicht benachrichtigt wird, dass eine neue Version des Inhalts verfügbar ist, wird weiterhin die Version des Inhalts bereitgestellt, die im Kernelmoduscache gespeichert wurde.
Problemumgehung
Um dieses Verhalten zu umgehen, wählen Sie eine der folgenden Optionen aus:
Leeren Sie den HTTP.sys-Cache für die Webanwendung manuell, nachdem Sie Aktualisierungen an den in der VHD gespeicherten Inhalten durchgeführt haben. Starten Sie den Anwendungspool neu, um den HTTP.sys Cache für die Anwendung zu leeren.
Speichern Sie Ihre Inhalte nicht auf einer VHD.
Schritte zum Reproduzieren
- Installieren Sie IIS.
- Erstellen Sie ein neues
VDiskObjekt (z. B.C:\VDisk\Disks\DeDupund binden Sie es inC:\inetpub\wwwroot\DeDup). - Kopieren Sie eine PNG-Datei (2.png) in die neue
VDisk. - Aktivieren Sie DeDup für
VDisk. - Optimieren
VDiskdurch Ausführenddpcli enqueue /opt /vol "C:\inetpub\wwwroot\DeDup"(FSUTIL-AnalysepunktabfrageC:\inetpub\wwwroot\DeDup\2.pngzeigt optimiert an). - Laden
http://ServerName/DeDup/2.pngSie . - Bearbeiten
C:\inetpub\wwwroot\DeDup\2.pngund speichern Sie es. - Laden
http://ServerName/DeDup/2.png– Sehen Sie sich die Änderungen an. - Erneute Optimierung
VDisk(FSUTIL-Analysepunktabfrage "C:\inetpub\wwwroot\DeDup\2.png" wird optimiert angezeigt). - Laden
http://ServerName/DeDup/2.png– Sehen Sie sich die Änderungen an. - Bearbeiten Sie
C:\inetpub\wwwroot\DeDup\2.pngsie erneut, und speichern Sie sie. - FSUTIL-Analysepunktabfrage
C:\inetpub\wwwroot\DeDup\2.pngzeigt nicht optimiert an. - Laden – die
http://ServerName/DeDup/2.pngneuesten Änderungen werden nicht angezeigt! - Öffnen Sie die Datei direkt auf dem Inhaltsserver, um sicherzustellen, dass die Datei beide Änderungssätze enthält – dies ist der Vorgang.