Я работаю над обновлением приложения с MVC3 до MVC4 и заметил кое-что, что, как я предполагал (надеялся?), "просто сработает".
CODE:
[OutputCache(Duration = 600, VaryByParam = "none")]
public ActionResult Index()
{
return View();
}
Это пример кэширования из учебника для ASP.Net. Всякий раз, когда браузер открывает страницу, он проверяет кеш, чтобы увидеть, существует ли что-то, создает представление, если нет, и затем отправляет кешированные результаты.
Это прекрасно работает; однако, играя с функциональностью мобильного представления MVC4, я заметил, что приведенный выше код не проверяет, был ли запрос с мобильного устройства. Поэтому, если я выберу этот маршрут на рабочем столе, вид рабочего стола будет отображаться на моем телефоне до тех пор, пока кеш не станет недействительным. Верно и обратное (если я сначала зайду на страницу с телефона, вместо этого рабочий стол увидит мобильное представление).
Есть ли какой-то параметр, который я мог бы использовать, чтобы все работало так, как я надеялся, или мне нужно создать клиентский OutputCacheProvider?