我在 ASP.NET MVC4 Beta 上遇到了一个非常奇怪的情况,DisplayModes 只是间歇性地在我的手机上工作。我有一个 HTC Desire 的用户代理
Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; HTC Desire 1.19.161.5 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
当我安装了 VS2010 SP1 并使用新的 MVC4 应用程序时,我的 Desire 从未被用作移动设备,但 iPhone 和其他几个工作正常,IsMobileDevice 总是错误的。我上传到 Azure,不出所料,我的手机仍未被检测为手机。
一旦我安装了 VS2012,但仍在使用 VS2010,我的 Desire 就开始被当作手机使用。用户代理完全相同,但现在 IsMobileDevice 为 True。但是,当我上传到 Azure 时,它仍然没有被检测为移动设备。
纵观这一切,没有错误,只是上述行为。我现在在有多个不同项目的两台机器上遇到了完全相同的问题。在所有情况下,用户代理都被正确检测到,只是 IsMobileDevice 的值发生了变化。
我曾尝试仅使用 bin 可部署程序集中的 MVC4 程序集部署到 Azure,并且我还尝试在包上引导 .net 4.5 安装程序,但这没有任何区别。
我知道我可以覆盖 DisplayMode 来破解修复程序,但是如果我想使用 MVC ViewSwitcher 并且不能真正解决问题,这对我没有帮助。
一些帮助将不胜感激,因为我已经没有想法了。