Domanda

Sto usando l'attributo OutputCache per memorizzare nella cache l'output html della mia azione sul lato server.

Bene, funziona, ma ora ho una situazione in cui il contenuto cambia raramente, ma quando lo fa, è fondamentale per l'utente vedere i nuovi dati alla richiesta successiva.

Quindi, c'è un modo per interrompere programmaticamente la durata della cache della pagina?

Altri suggerimenti

È possibile estendere OutputCacheAttribute per creare il proprio meccanismo cache che consenta una dipendenza simile alla cache ASP.net originale.

Puoi anche utilizzare HttpCachePolicy.AddValidationCallback () . L'idea generale è che quando la pagina viene renderizzata e inserita nella cache, questo callback viene inserito insieme alla pagina. Al momento del recupero della pagina dalla cache, viene richiamato il callback e si determina definitivamente se la pagina memorizzata nella cache è obsoleta (e deve essere avviata) o valida (e deve essere pubblicata). Per un esempio, vedere la AuthorizeAttribute source per un esempio. Se una pagina che diventa obsoleta è davvero rara, tuttavia, potresti essere meglio servito dal metodo RemoveOutputCacheItem () come menzionato nell'altra risposta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top