Disabilitare la memorizzazione nella cache dei contenuti statici in IIS 7


9

Sono uno sviluppatore con quello che dovrebbe essere un problema relativamente semplice in IIS 7 su Windows Server 2008 R2. Il problema è che IIS 7 memorizza nella cache in modo eccessivo tutto il contenuto statico sul server. Sta memorizzando nella cache tutto il contenuto .html e .js e non si accorge quando il contenuto cambia su disco a meno che non sia impostato.

Ho provato quanto segue:

  1. Eliminazione della cache locale nel mio browser (sono positivo al 99%, questo è un problema di memorizzazione nella cache del server)
  2. Nell'amministratore IIS in OutputCaching aggiungere un'estensione .html e deselezionare "Memorizzazione nella modalità utente" e deselezionare "Memorizzazione nella modalità kernel"
  3. Nell'amministratore IIS in OutputCaching aggiungere un'estensione .html e selezionare "Memorizzazione nella modalità utente" e selezionare la radio per "Impedisci memorizzazione nella cache"
  4. Nell'amministratore IIS, modificare le impostazioni della funzione cache di output e deselezionare "Abilita cache" e "Abilita cache del kernel in OutputCaching.
  5. Esecuzione di "C: \ Windows \ System32 \ inetsrv \ config \ appcmd set config" SharePoint - 80 "-seection: system.webServer / caching -enabled: false"
  6. Guardando applicationHost.config e disabilitando tutto ciò che riguarda la memorizzazione nella cache che ho trovato.

Niente sembra funzionare. Sto diventando molto frustrato. Qualcuno può aiutare, per favore?


2
Sei riuscito a trovare una soluzione. Sto affrontando lo stesso problema. Ho provato tutto e non riesco proprio a disabilitare la memorizzazione nella cache. L'unico modo è cambiare il nome del file, fare una richiesta e poi tornare indietro.
Tivie,

Risposte:


4

Mi piacerebbe davvero vedere la system.webServer/cachingsezione dal tuo applicationhost.config e web.config. Per favore incollali se puoi. Eseguendo il comando appcmd sopra, hai appena disabilitato la cache in modalità Utente hai ancora la cache del kernel abilitata. Inoltre, se si desidera veramente disabilitare la memorizzazione nella cache a livello di sito Web o server, modificare quanto segue:

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

Puoi anche usare gli strumenti di Fiddler per verificare se il contenuto è realmente memorizzato nella cache, ad esempio se ti restituisce 304.


0

Sul server, se si esegue 'netsh http show cache', vengono visualizzate voci memorizzate nella cache? In tal caso, la cache di output non è stata disabilitata correttamente sul server Web.


0

E solo $ 0,02 per verificare che i gestori siano i gestori che ti aspetti che siano.

I file statici sono in genere forniti dal gestore di file statici. Se hai fatto cose folli come creare una mappa di script jolly o registrare un modulo per tutti i tipi di file e verbi ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.