Desativar cache de conteúdo estático no IIS 7

8

Sou um desenvolvedor que deve ser um problema relativamente simples no IIS 7 no Windows Server 2008 R2. O problema é que o IIS 7 armazena em cache com excesso de zelo 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 seja restaurado.

Eu tentei o seguinte:

  1. Excluindo o cache local no meu navegador (tenho 99% de certeza de que isso é um problema de cache do servidor)
  2. No IIS Admin no OutputCaching, adicionando uma extensão .html e desmarcando "User mode caching" e desmarcando "Kernel-mode caching"
  3. No IIS Admin no OutputCaching adicionando uma extensão .html e verificando "Cache do modo de usuário" e selecionando o rádio para "Impedir todo o cache"
  4. No IIS Admin, edite as configurações do recurso de cache de saída e desmarque "Ativar cache" e "Ativar o cache do kernel em Cache de saída.
  5. Executando "C: \ Windows \ System32 \ inetsrv \ config \ appcmd definindo configuração" - 80 "do SharePoint: system.webServer / caching -enabled: false "
  6. Examinando applicationHost.config e desativando qualquer coisa relacionada ao armazenamento em cache que pude encontrar.

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

    
por Lee Richardson 27.03.2010 / 18:39

3 respostas

3

Eu realmente gostaria de ver a seção system.webServer/caching 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, você ainda tem o cache do kernel ativado. Além disso, se você realmente quiser 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 ele está retornando para você 304.

    
por 29.03.2010 / 22:20
0

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

    
por 29.03.2010 / 21:54
0

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

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

    
por 01.05.2011 / 04:14

Tags