IIS sirve contenido obsoleto al almacenar el contenido en un VHD
Este artículo le ayuda a solucionar el problema en el que Internet Information Services (IIS) sirve contenido obsoleto al almacenar el contenido en un disco duro virtual (VHD).
Versión del producto original: Internet Information Services 8.0
Número KB original: 2814040
Síntomas
Imagina la siguiente situación:
- Va a hospedar una aplicación web en IIS 8.0 o versiones anteriores.
- Ha almacenado el contenido de la aplicación web en un VHD.
- Cuando se realiza una actualización del contenido, como agregar una nueva versión de un archivo de imagen o editar texto en una página, se espera que el contenido actualizado se pueda servir a las solicitudes web entrantes.
En este escenario, el contenido actualizado no se muestra y las solicitudes web entrantes se responden con la versión de contenido antigua.
Causa
Este comportamiento se produce porque las notificaciones de cambio de archivo (FCN) no atraviesan los puntos de montaje. Dado HTTP.sys no se notifica que hay disponible una nueva versión del contenido, sigue atienden la versión del contenido que ha almacenado en la memoria caché del modo kernel.
Solución alternativa
Para evitar este comportamiento, elija una de las siguientes opciones:
Vaciar manualmente la HTTP.sys caché de la aplicación web después de realizar actualizaciones del contenido almacenado en el VHD. Para vaciar la HTTP.sys caché de la aplicación, reinicie el grupo de aplicaciones.
No almacene el contenido en un VHD.
Pasos para reproducir
- Instalar IIS.
- Crear nuevo
VDisk(por ejemplo,C:\VDisk\Disks\DeDupy montarlo enC:\inetpub\wwwroot\DeDup). - Copie un archivo PNG (2.png) en el nuevo
VDisk. - Habilitar DeDup en
VDisk. - Optimizar
VDiskhaciendoddpcli enqueue /opt /vol "C:\inetpub\wwwroot\DeDup"(la consulta de reparsepoint FSUTILC:\inetpub\wwwroot\DeDup\2.pngmuestra optimizado). - Cargar
http://ServerName/DeDup/2.png. - Edite
C:\inetpub\wwwroot\DeDup\2.pngy guárdelo. - Load:
http://ServerName/DeDup/2.pngvea los cambios. - Optimizar
VDiskde nuevo (FSUTIL reparsepoint query "C:\inetpub\wwwroot\DeDup\2.png" muestra optimizado). - Load:
http://ServerName/DeDup/2.pngvea los cambios. - Vuelva
C:\inetpub\wwwroot\DeDup\2.pnga editar y guárdelo. - La consulta de reparsepoint FSUTIL
C:\inetpub\wwwroot\DeDup\2.pngmuestra que no está optimizada. - Load:
http://ServerName/DeDup/2.pngno veas los cambios más recientes. - Abra el archivo directamente en el servidor de contenido para asegurarse de que el archivo contiene ambos conjuntos de cambios: lo hace.