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