Estoy tratando de utilizar el atributo OutputCache
en mi MVC aplicación y no parece funcionar cuando uso OutputCacheLocation.Client
:OutputCache Localización = Cliente no parece trabajar
public class HomeController : Controller
{
[OutputCache(Duration=15, Location=OutputCacheLocation.Client)]
public ActionResult Client()
{
ViewBag.Message = "The current time is " + DateTime.Now.ToString("hh:mm:ss");
return View();
}
[OutputCache(Duration=15, Location=OutputCacheLocation.Any)]
public ActionResult Any()
{
ViewBag.Message = "The current time is " + DateTime.Now.ToString("hh:mm:ss");
return View();
}
}
El primero de ellos no lo hace caché . Llego a la página cada segundo y cambia el tiempo. El segundo funciona Solo cambia el tiempo cada 15 segundos. ¿Hay algo que este olvidando? Estoy depurando esto usando IE8 y el servidor de desarrollo integrado en Visual Studio.
"Cliente" significa literalmente el cliente, es decir, IE. Entonces, si accedes a la página manualmente, no estás jugando según las reglas; [el almacenamiento en memoria caché del lado del cliente significa que ni siquiera se supone que debe presionar la página.] (http://msdn.microsoft.com/en-us/library/system.web.ui.outputcachelocation.aspx) – bzlm
@bzlm qué hacer ¿Te refieres? Si navego a/home/client y luego a otra página, y de regreso a/home/client. ¿No debería recibir la página en caché? (¿Mientras estoy dentro del marco de tiempo?) – Joe
@bzlm espera, ya veo. presionar F5 invalida la memoria caché, navegar desde/hacia sirve la misma página. No lo sabía. deberías publicar eso como respuesta. He estado buscando en todo Internet y no he podido encontrar ese tidbit – Joe