ASP.Net MVC4 Mobile-Aware OutputCache

Я работаю над обновлением приложения с MVC3 до MVC4 и заметил кое-что, что, как я предполагал (надеялся?), "просто сработает".

CODE:

[OutputCache(Duration = 600, VaryByParam = "none")]
public ActionResult Index()
{
   return View();
}

Это пример кэширования из учебника для ASP.Net. Всякий раз, когда браузер открывает страницу, он проверяет кеш, чтобы увидеть, существует ли что-то, создает представление, если нет, и затем отправляет кешированные результаты.

Это прекрасно работает; однако, играя с функциональностью мобильного представления MVC4, я заметил, что приведенный выше код не проверяет, был ли запрос с мобильного устройства. Поэтому, если я выберу этот маршрут на рабочем столе, вид рабочего стола будет отображаться на моем телефоне до тех пор, пока кеш не станет недействительным. Верно и обратное (если я сначала зайду на страницу с телефона, вместо этого рабочий стол увидит мобильное представление).

Есть ли какой-то параметр, который я мог бы использовать, чтобы все работало так, как я надеялся, или мне нужно создать клиентский OutputCacheProvider?

12
задан JamesEggers 7 March 2012 в 16:11
поделиться