è possibile utilizzare il metodo di RemoveOutputCacheItem
.
Ecco un esempio di come si potrebbe usarlo: risposta azione
public class HomeController : Controller
{
[OutputCache(Duration = 60, Location = OutputCacheLocation.Server)]
public ActionResult Index()
{
return Content(DateTime.Now.ToLongTimeString());
}
public ActionResult InvalidateCacheForIndexAction()
{
string path = Url.Action("index");
Response.RemoveOutputCacheItem(path);
return Content("cache invalidated, you could now go back to the index action");
}
}
L'Indice viene memorizzato nella cache sul server per 1 minuto. Se si preme l'azione InvalidateCacheForIndexAction
, scadrà la cache per l'azione Index. Al momento non è possibile invalidare l'intera cache, è necessario eseguirla per azione memorizzata nella cache (non controller) poiché il metodo RemoveOutputCacheItem
prevede l'url dello script lato server memorizzato nella cache.
fonte
2013-04-25 06:08:58
Grazie Darin, ho davvero apprezzato il tuo aiuto su questo! – GibboK
Come si ottiene ciò per -> Location = OutputCacheLocation.Client, ci sono altri parametri/metodi specifici? –
e10, non è possibile rimuovere dal server i dati memorizzati nella cache del browser client. Questo non ha senso. –