Pergunta

É possível limpar todo o cache do site? Eu gostaria de fazer isso quando o usuário fizer fora ou a sessão expira em vez de instruir o navegador não para armazenar em cache em cada solicitação.

Foi útil?

Solução

Tanto quanto eu sei, não há nenhuma maneira para instruir o navegador para limpar todas as páginas que tem em cache para o seu site. O único controle que você, como um autor website, têm sobre o cache de uma página ocorre quando as tentativas navegador para acessar essa página. Você pode especificar que as versões em cache de suas páginas devem expirar em um determinado momento usando o cabeçalho Expires, mas mesmo assim o navegador não vai realmente limpar a página de seu cache nesse momento.

Outras dicas

i certamente espero que não - que daria ao web site poderes destrutivos sobre a máquina do cliente

!

Se a segurança é a sua principal preocupação aqui, por que não usar HTTPS? Navegadores não cache de conteúdo recebido através de HTTPS (ou cache do que apenas na memória).

Uma maneira complicada para imitar este seria incluir a sessão-id como um parâmetro ao fazer referência a qualquer peça estática de conteúdo no site. Quando o usuário estabelece a sessão, o navegador irá reconhecer todas as peças de conteúdo como novo devido à inclusão desse parâmetro. Para a duração da sessão do navegador será usado o conteúdo estático em seu cache. Depois que o usuário fizer fora e registros de volta novamente, o parâmetro session-id para o conteúdo estático será diferente, de modo que o navegador irá reconhecer isso é tão completamente novo conteúdo e irá baixar tudo novamente.

Dito isto ... este é um hack e eu não recomendaria a persegui-lo .. Por que razão você quer cache do usuário para ser apagada depois da sua sessão expira? Há provavelmente uma solução melhor que pode caber sua situação ao contrário do que você atualmente está pedindo.

Se você está falando sobre asp.net cache de objetos, você pode usar isto:

    For Each elem As DictionaryEntry In Cache
      Cache.Remove(elem.Key)
    Next            

para remover itens do cache, mas isso pode não ser o full-extensão do que você está tentando realizar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top