2011-09-28 1 views
5

Qual è la differenza tra questi due componenti di memorizzazione nella cache nella configurazione Web?Differenze tra componenti di memorizzazione nella cache nella configurazione Web

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

e

<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> 

Ho problemi davvero a trovare informazioni sulla seconda versione. Cosa costituisce un cambiamento quando dice "CacheUntilChange" e perché dovrebbe avere una durata allora?

Grazie

+0

mi chiedevo la stessa cosa, ad un certo punto penso di aver capito. la durata viene utilizzata per ricontrollare se il file è ancora valido e se è stato modificato ... diciamo che il browser richiede test.jpg, il browser viene informato di memorizzarlo nella cache fino a quando non viene modificato, ma come sarà il browser sapere quando è stato cambiato?la durata specifica il tempo per controllare .... o così mi piacerebbe credere. – Dementic

risposta

0

Sono di fronte a dubbi simili. Questo è quello che ho capito dal vasto contenuto di internet.

Sentitevi liberi di correggermi se ho torto o aggiungo ulteriori informazioni nel caso in cui abbia perso qualcosa.

1) <staticContent><clientCache> cache solo sul lato client.

I profili di memorizzazione nella cache possono essere utilizzati per memorizzare nella cache i file sul lato client e sul lato server. Per configurare su entrambi i set location="ServerAndClient". Il tag policy configura il criterio di memorizzazione nella cache del lato client, il tag kernelCachePolicy configura il criterio di memorizzazione nella cache del server.

2) La memorizzazione nella cache di StaticContent non supporta la memorizzazione nella cache in base a tipi di file o estensioni.

I profili di memorizzazione nella cache supportano la memorizzazione nella cache in base alle estensioni.

3) Per applicare la memorizzazione nella cache di staticContent su file in una posizione specifica, è possibile utilizzare il tag di posizione nel web.config principale in modo che la memorizzazione nella cache di staticContent si applichi a tutti i file in quella posizione.

ad es.

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

Il tag sopra riportato applicherà il caching a tutti i file nella cartella "Contenuto/comune/immagini". Oppure il tag staticContent può anche essere specificato in un web.config locale nella cartella il cui contenuto deve essere memorizzato nella cache.

Per i profili di memorizzazione nella cache, da applicare a una determinata cartella è possibile specificare la sezione dei profili di memorizzazione nella cache nel file di configurazione locale nella cartella.

Tutti i profili applicati nel web.config principale verranno applicati in aggiunta ai profili specifici della posizione.

4) Per configurare staticContent caching tramite IIS, è necessario utilizzare il protocollo HTTP intestazioni di risposta finestra di configurazione

enter image description here

Per configurare i profili di caching tramite IIS, è necessario utilizzare la finestra di configurazione OutputCaching.

enter image description here