2011-09-28 8 views
5

¿Cuál es la diferencia entre estos dos componentes de almacenamiento en caché en la configuración web?Diferencias entre los componentes de almacenamiento en caché en la configuración web

<staticContent> 
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="90.00:00:00" />   
</staticContent> 

y

<caching> 
    <profiles> 
     <add extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" /> 
     <add extension=".jpeg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" /> 
     <add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" /> 
     <add extension=".css" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" /> 
     <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" duration="00:00:30" /> 
    </profiles> 
</caching> 

estoy teniendo problemas para encontrar realmente información sobre la segunda versión. ¿Qué constituye un cambio cuando dice "CacheUntilChange" y por qué tendría una duración en ese momento?

Gracias

+0

me preguntaba lo mismo, en algún momento creo que me entendía. la duración se usa para volver a verificar si el archivo sigue siendo válido y si se cambió ... digamos que el navegador solicita test.jpg, se le dice al navegador que lo guarde en caché hasta que se modifique, pero ¿cómo lo hará el navegador? saber cuando fue cambiado?la duración especifica el tiempo para verificar .... o eso me gustaría creer. – Dementic

Respuesta

0

estoy frente a dudas similares. Esto es lo que descubrí del vasto contenido en Internet.

Por favor, siéntase libre de corregirme si me equivoco o agregar más información en caso de que me haya perdido algo.

1) <staticContent><clientCache> se almacena en caché solo en el lado del cliente.

Los perfiles de caché se pueden utilizar para almacenar en caché los archivos del lado del cliente y del servidor. Para configurar en ambos conjuntos location="ServerAndClient". La etiqueta policy configura la política de caché del lado del cliente, la etiqueta kernelCachePolicy configura la política de almacenamiento en caché del servidor.

2) El almacenamiento en memoria caché de StaticContent no admite el almacenamiento en caché según los tipos o extensiones de archivos.

Los perfiles de caché admiten el almacenamiento en caché en función de las extensiones.

3) Para aplicar el almacenamiento en caché de staticContent en archivos en una ubicación determinada, puede usar la etiqueta de ubicación en el web.config principal para que el almacenamiento en caché de staticContent se aplique a todos los archivos en esa ubicación.

p. Ej.

<location path="Content/common/images"> 
    <system.webServer> 
     <staticContent> 
     <clientCache cacheControlCustom="public" cacheControlMaxAge="86400" cacheControlMode="UseMaxAge"/> 
     </staticContent> 
    </system.webServer> 
    </location> 

La etiqueta anterior aplicará el almacenamiento en caché a todos los archivos en la carpeta "Contenido/común/imágenes". O la etiqueta staticContent también se puede especificar en un web.config local en la carpeta cuyos contenidos deben almacenarse en caché.

Para los perfiles de caché, para aplicar a una carpeta en particular, puede especificar la sección de perfiles de caché en el archivo de configuración local de la carpeta.

Todos los perfiles aplicados en la web.config principal se aplicarán además de los perfiles específicos de la ubicación.

4) Para configurar el almacenamiento en caché StaticContent a través de IIS, es necesario utilizar el Encabezados de respuesta HTTP ventana de configuración

enter image description here

Para configurar perfiles de almacenamiento en caché a través de IIS, es necesario utilizar la ventana de configuración OutPutCaching.

enter image description here

Cuestiones relacionadas