Desabilitar o cache de conteúdo estático no IIS 7

9

Sou um desenvolvedor que tem um problema relativamente simples no IIS 7 no Windows Server 2008 R2. O problema é que o IIS 7 está armazenando em cache excessivamente todo o conteúdo estático no servidor. Ele armazena em cache todo o conteúdo .html e .js e não percebe quando o conteúdo é alterado no disco, a menos que eu seja redefinida.

Eu tentei o seguinte:

  1. Excluindo o cache local no meu navegador (tenho 99% de certeza, este é um problema de cache do servidor)
  2. No Admin do IIS no OutputCaching, adicione uma extensão .html e desmarque "Cache do modo de usuário" e desmarque "Cache do modo de kernel"
  3. No Admin do IIS no OutputCaching, adicione uma extensão .html e marque "Cache do modo de usuário" e selecione o rádio para "Impedir todo o cache"
  4. No Admin Admin do IIS, editando as configurações do Recurso Cache de Saída e desmarcando "Ativar cache" e "Ativar cache do kernel em OutputCaching.
  5. Executando "C: \ Windows \ System32 \ inetsrv \ config \ appcmd set config" SharePoint - 80 "- seção: system.webServer / caching - enabled: false"
  6. Examinando applicationHost.config e desabilitando qualquer coisa relacionada ao cache que eu pudesse encontrar.

Nada parece funcionar. Estou ficando muito frustrado. Alguém por favor pode ajudar?

Lee Richardson
fonte
2
Você consegue encontrar uma solução. Estou enfrentando o mesmo problema. Tentei de tudo e simplesmente não consigo desativar o cache. A única maneira é alterar o nome do arquivo, fazer uma solicitação e depois voltar.
Tivie

Respostas:

4

Eu realmente gostaria de ver a system.webServer/cachingseção do seu applicationhost.config e web.config. Por favor, cole-os, se puder. Ao executar o comando appcmd acima, você acabou de desabilitar o cache do modo de usuário e ainda habilita o cache do Kernel. Além disso, se você realmente deseja desabilitar o cache no site ou no nível do servidor, basta alterar o seguinte:

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

Você também pode usar as ferramentas do Fiddler para verificar se o conteúdo está realmente em cache, ou seja, se está retornando para você 304.

Vivek Kumbhar
fonte
0

No servidor, se você executar 'netsh http show cache', verá alguma entrada em cache? Nesse caso, você não desativou com êxito o Cache de Saída no servidor da web.


fonte
0

E apenas US $ 0,02 para verificar se seus manipuladores são os que você espera que sejam.

Arquivos estáticos geralmente são servidos pelo manipulador de arquivos estáticos. Se você fez coisas malucas como criar um mapa de script curinga ou registrar um módulo para todos os tipos de arquivos e verbos ...

TristanK
fonte