Estoy trabajando en la actualización de una aplicación de MVC3 a MVC4 y noté algo que asumí (¿esperaba?) "Simplemente funcionaría".ASP.Net MVC4 Mobile-Aware OutputCache
CÓDIGO:
[OutputCache(Duration = 600, VaryByParam = "none")]
public ActionResult Index()
{
return View();
}
Se trata de un libro de texto de ejemplo para el almacenamiento en caché de ASP.Net. Cada vez que un navegador llega a la página, comprueba el caché para ver si existe algo, genera la vista si no es así y luego envía los resultados almacenados en caché.
Esto funciona genial; sin embargo, jugando con la funcionalidad de vista móvil de MVC4, noté que el código anterior no verifica si la Solicitud es de un dispositivo móvil. Entonces, si pulso esa ruta en un escritorio, la vista del escritorio se mostrará en mi teléfono hasta que se invalide el caché. Lo contrario también es cierto (si primero toco la página con un teléfono, el escritorio verá la vista móvil en su lugar).
¿Hay algún parámetro que pueda usar para hacer que esto funcione como esperaba o estoy buscando crear un cliente OutputCacheProvider?
muy interesante, estoy teniendo una si problema de milar, gracias! – Pelle
El cambio a la vista de escritorio no funciona con este código. La página simplemente se actualiza en lugar de cambiar. Use context.GetVaryByCustomStringForOverriddenBrowser() en su lugar. –