Abortar duração OutputCache programaticamente em asp.net mvc
-
05-07-2019 - |
Pergunta
Eu estou usando o atributo OutputCache para cache de saída html da minha ação no lado do servidor.
Fine, ele funciona, mas agora eu tenho uma situação onde o conteúdo muda raramente, mas quando o faz, é fundamental para que o usuário veja os novos dados a muito próxima solicitação.
Assim, há uma maneira de abortar a duração cache de página programaticamente?
Solução
Sim, é possível usar HttpResponse.RemoveOutputCacheItem Método . Verifique esta pergunta:
Outras dicas
Você pode estender o OutputCacheAttribute para criar o seu próprio mecanismo de cache que permitem dependência semelhante ao cache ASP.net originais.
Você também pode usar HttpCachePolicy.AddValidationCallback () . A idéia geral é que, quando a página é processada e inserida no cache, esse retorno é inserido junto com a página. Após a recuperação da página do cache, o retorno de chamada é invocado e faz a determinação final sobre se a página em cache é obsoleto (e deve ser inicializado) ou válido (e deve ser servido). Veja a AuthorizeAttribute fonte para um exemplo. Se uma página se tornando obsoleto é realmente raro, porém, você pode ser melhor servido pelo método RemoveOutputCacheItem () como mencionado em outra resposta.