Почему мобильные представления в ASP.NET MVC по-разному отображаются на разных серверах?

Я использую новую бета-версию ASP.NET MVC 4 и пытаюсь создать систему, которая в основном работает с адаптивным дизайном, но для одного конкретного представления я использую мобильное представление для отображения определенного представления для мобильных устройств.

Моя структура просто состоит в том, что у меня есть Show.cshtml, а затем у меня есть Show.mobile.cshtml.

Если я делаю свой сайт доступным с моей машины разработки через IIS Express, это представление отображается правильно для iPad, iPhone, телефонов Android и мобильной Opera, и оно также работает так же, если я делаю локальную публикацию в IIS 7.5 на моей машине разработки..

Проблема возникает при развертывании на работающем сервере. Мы пытались выполнить развертывание на двух разных серверах. Тогда мобильное представление будет отображаться только на iPhone, а не на других мобильных устройствах. Это стабильно так. Наши настроенные серверы были как Windows 2003/IIS6, так и Windows 2008 R2/IIS7.5, и они работают одинаково на обоих, только iPhone обслуживается в мобильном представлении.

Что может быть причиной этого?

Для этого я ничего не добавлял в global.asax.

ОБНОВЛЕНИЕ

После дополнительных исследований мне стало ясно, что поведение по умолчанию для DisplayMode и мобильных представлений зависит от флага Request.Browser.IsMobileDevice. Этот флаг, в свою очередь, зависит от файлов.browser, которые находятся в папке Config/Browsers -папки.NET Framework.

На моей машине разработки файлы.browser отличаются от тех, которые присутствуют на серверах, на которых я выполнял развертывание. До сих пор я пытался развернуть те, которые у меня есть на моем компьютере, в папке App _Browsers -веб-приложения, но это не решило мою проблему. Может быть, это путь?

17
задан Cros 8 May 2012 в 12:37
поделиться