新しいASP.NETMVC4ベータ版を使用しており、ほとんどがレスポンシブデザインで動作するシステムを作成しようとしていますが、ある特定のビューでは、モバイルビューを使用してモバイルデバイスの特定のビューをレンダリングしています。
私の構造は、Show.cshtmlがあり、それに続いてShow.mobile.cshtmlがあるということです。
開発マシンからIISExpressを介してサイトを利用できるようにすると、このビューはiPad、iPhone、Android電話、およびモバイルOperaで正しく表示されます。また、開発マシンでIIS7.5にローカル公開した場合も同じように機能します。
問題は、ライブサーバーにデプロイするときに発生します。2つの異なるサーバーにデプロイしようとしました。その場合、モバイルビューはiPhoneにのみ提供され、他のモバイルデバイスには提供されません。これは一貫してそうです。セットアップされたサーバーは、Windows 2003/IIS6とWindows2008R2 / IIS7.5の両方であり、どちらでも同じように機能します。モバイルビューが提供されるのはiPhoneのみです。
これの原因は何でしょうか?
このためにglobal.asaxにカスタムを追加していません。
アップデート
さらに調査した結果、DisplayModeとモバイルビューのデフォルトの動作はRequest.Browser.IsMobileDeviceフラグに依存していることがわかりました。このフラグは、.NETFrameworkフォルダーのConfig/Browsersフォルダーにある.browserファイルに依存しているようです。
私の開発マシンには、デプロイ先のサーバーに存在するものとは異なる.browserファイルがあります。これまで、自分のマシンにあるものをWebアプリのApp_Browsersフォルダーにデプロイしようとしましたが、問題は解決しませんでした。これが進むべき道でしょうか?