Używam nowej wersji beta ASP.NET MVC 4 i staram się stworzyć system, który działa głównie z responsywnym projektem, ale dla jednego konkretnego widoku używam widoku mobilnego do renderowania określonego widoku dla urządzeń mobilnych.Dlaczego widoki mobilne w ASP.NET MVC wyświetlają się inaczej na różnych serwerach?
Moja struktura polega na tym, że mam program Show.cshtml, a po nim mam program Show.mobile.cshtml.
Jeśli udostępniam moją witrynę z mojego urządzenia dla deweloperów poprzez IIS Express, ten widok będzie wyświetlał się poprawnie na iPadzie, telefonie iPhone, telefonie z Androidem i mobilnej Operze, a także działa tak samo, gdy utworzę lokalny publikator w IIS 7.5 na moim dev maszyna.
Problem pojawia się, gdy wdrażamy serwer na żywo, próbowaliśmy wdrożyć na dwóch różnych serwerach. Wtedy widok mobilny będzie wyświetlany tylko na iPhone'ach, bez żadnych innych urządzeń mobilnych. Jest tak konsekwentnie. Nasze serwery zostały skonfigurowane zarówno jako Windows 2003/IIS6, jak i Windows 2008 R2/IIS7.5 i działają tak samo na obu urządzeniach, tylko iPhone otrzymuje widok mobilny.
Co może być tego przyczyną?
Nie dodałem nic niestandardowego w pliku global.asax.
UPDATE
Po kilku dalszych badań wydaje się dla mnie jasne, że zachowanie domyślne dla DisplayMode i telefonów poglądów zależy na fladze Request.Browser.IsMobileDevice. Ta flaga z kolei wydaje się opierać na plikach .browser znajdujących się w folderze Config/Browsers w folderze .NET Framework.
Na moim komputerze dev mam różne pliki .browser niż te, które są obecne na serwerach, na których zostały wdrożone. Do tej pory próbowałem wdrożyć te, które mam na moim komputerze w folderze App_Browsers w aplikacji internetowej, ale to nie rozwiązało mojego problemu. Czy to może być droga?
Czy próbowałeś wypluć swój ciąg agenta użytkownika? Zastanawiam się, czy IIS źle sobie z tym radzi, czy rozwiązuje to inaczej. –
Wydaje mi się, że domyślne wystąpienie DisplayMode zależy od przeglądarek zdefiniowanych w folderze Config \ Browsers-folder framework. Inne badania pokazują, że różnią się one w zależności od różnych maszyn. Czy to jest coś, co jest uaktualniane przez Wep Plattform Installer? – Cros