Pracuję nad uaktualnieniem aplikacji z MVC3 do MVC4 i zauważyłem coś, co założyłem (mam nadzieję?) "Po prostu zadziała".ASP.Net MVC4 Mobile-Aware OutputCache
KOD:
[OutputCache(Duration = 600, VaryByParam = "none")]
public ActionResult Index()
{
return View();
}
Jest to podręcznik buforowanie przykład dla ASP.NET. Za każdym razem, gdy przeglądarka trafi na stronę, sprawdza pamięć podręczną, aby sprawdzić, czy coś istnieje, generuje widok, jeśli nie, a następnie wysyła wyniki z pamięci podręcznej.
Działa to świetnie; jednakże, bawiąc się funkcjonalnością MVC4 w widoku mobilnym, zauważyłem, że powyższy kod nie sprawdza, czy żądanie pochodzi z urządzenia mobilnego. Jeśli więc trafię tę trasę na pulpit, widok pulpitu będzie wyświetlany na moim telefonie, dopóki pamięć podręczna nie zostanie unieważniona. Odwrotna sytuacja również jest prawdą (jeśli najpierw uderzę w stronę z telefonem, zamiast tego na pulpicie pojawi się widok mobilny).
Czy istnieje parametr, który mógłbym użyć, aby działało to tak, jak miałem nadzieję, czy też szukam budowania klienta OutputCacheProvider?
Bardzo interesujące Mam si Milar problem, dzięki! – Pelle
Przełączanie na widok pulpitu nie działa z tym kodem. Strona po prostu odświeża się zamiast przełączać. Zamiast tego należy użyć context.GetVaryByCustomStringForOverriddenBrowser(). –