Я использую новую бета-версию ASP.NET MVC 4 и пытаюсь создать систему, которая в основном работает с адаптивным дизайном, но для одного конкретного представления я использую мобильный вид для отображения определенного вида для мобильных устройств.
Моя структура просто состоит в том, что у меня есть Show.cshtml, и после этого у меня есть Show.mobile.cshtml.
Если я сделаю свой сайт доступным с моей машины-разработчика через IIS Express, это представление правильно отобразится для iPad, iPhone, телефонов Android и мобильных Opera, а также работает так же, если я сделаю локальную публикацию в IIS 7.5 на моей машине dev.
Проблема возникает при развертывании на реальном сервере, мы попробовали развертывание на двух разных серверах. Тогда мобильный вид будет обслуживаться только для iPhone, других мобильных устройств. Это последовательно. Наши серверы настроены как для Windows 2003/IIS6, так и для Windows 2008 R2/IIS7.5, и он работает одинаково на обоих, только iPhone получает доступ к мобильному виду.
Что может быть причиной этого?
Я ничего не добавил в global.asax для этого.
UPDATE
После еще нескольких исследований мне кажется ясным, что поведение по умолчанию для DisplayMode и мобильных просмотров зависит от флага Request.Browser.IsMobileDevice. Этот флаг, в свою очередь, полагается на файлы .browser, которые находятся в папке Config/Browsers в папке .NET Framework.
На моей машине dev у меня разные файлы .browser, чем те, которые присутствуют на серверах, на которых я развернулся. До сих пор я пытался развернуть те, которые у меня есть на своей машине, в папке App_Browsers в веб-приложении, но это не исправило мою проблему. Возможно, это будет путь?