Deshabilitar el almacenamiento en caché de contenido estático en IIS 7

9

Soy un desarrollador que tiene lo que debería ser un problema relativamente simple en IIS 7 en Windows Server 2008 R2. El problema es que IIS 7 está almacenando demasiado en caché todo el contenido estático en el servidor. Está almacenando en caché todo el contenido .html y .js y no se da cuenta cuando el contenido cambia en el disco, a menos que no esté configurado.

He intentado lo siguiente:

  1. Eliminar el caché local en mi navegador (estoy 99% seguro de que este es un problema de almacenamiento en caché del servidor)
  2. En IIS Admin en OutputCaching, agregue una extensión .html y desactive "Almacenamiento en caché en modo de usuario" y desactive "Almacenamiento en caché en modo kernel"
  3. En IIS Admin en OutputCaching, agregue una extensión .html y marque "Almacenamiento en caché en modo de usuario" y seleccione la radio para "Prevenir todo el almacenamiento en caché"
  4. En IIS Admin, edite la configuración de la Función de caché de salida y desmarque "Habilitar caché" y "Habilitar caché del núcleo en OutputCaching.
  5. Ejecutando "C: \ Windows \ System32 \ inetsrv \ config \ appcmd set config" SharePoint - 80 "-section: system.webServer / caching -enabled: false"
  6. Mirando a través de applicationHost.config y desactivando todo lo relacionado con el almacenamiento en caché que pude encontrar.

Nada parece funcionar. Me estoy frustrando mucho. Alguien puede ayudarme porfavor?

Lee Richardson
fuente
2
¿Has conseguido encontrar una solución? Estoy enfrentando el mismo problema. Intenté todo y simplemente no puedo desactivar el almacenamiento en caché. La única forma es cambiar el nombre de archivo del archivo, hacer una solicitud y luego volver a cambiar.
Tivie

Respuestas:

4

Realmente me gustaría ver la system.webServer/cachingsección de su aplicaciónhost.config y web.config. Por favor pégalos si puedes. Al ejecutar el comando appcmd anterior, acaba de deshabilitar el almacenamiento en caché en modo Usuario y todavía tiene habilitado el almacenamiento en caché de Kernel. Además, si realmente desea deshabilitar el almacenamiento en caché en el sitio web o en el nivel del servidor, simplemente cambie lo siguiente:

<system.webServer>
    <caching enabled="false" enableKernelCache="false" />
</system.webServer>

También puede usar las herramientas de Fiddler para verificar si el contenido está realmente almacenado en caché, es decir, si le está devolviendo 304.

Vivek Kumbhar
fuente
0

En el servidor, si ejecuta 'netsh http show cache', ¿ve alguna entrada en caché? Si es así, no ha deshabilitado correctamente el almacenamiento en caché de salida en el servidor web.


fuente
0

Y solo $ 0.02 para verificar que sus manejadores son los manejadores que espera que sean.

Los archivos estáticos generalmente son servidos por el controlador de archivos estáticos. Si ha hecho cosas locas como crear un mapa de script comodín, o registrar un módulo para todos los tipos de archivos y verbos ...

TristanK
fuente