Asp.net mvc MVC 4移动检测对于视图和布局不一样

Asp.net mvc MVC 4移动检测对于视图和布局不一样,asp.net-mvc,asp.net-mvc-4,azure,Asp.net Mvc,Asp.net Mvc 4,Azure,我有一个很奇怪的问题。更糟糕的是,它只在生产环境(azure)中发生,而不是在开发机器中发生 我看到我的应用程序使用.Mobile版本的布局,但使用桌面(而不是.Mobile)版本的视图。我完全不知道该如何解决这个问题 它正在检测手机版本,但它不是。。。有什么想法吗?引擎使用位于此处的文件-C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers (或\Framework64\) 这两种机器上可能不同。使用Request.Brow

我有一个很奇怪的问题。更糟糕的是,它只在生产环境(azure)中发生,而不是在开发机器中发生

我看到我的应用程序使用.Mobile版本的布局,但使用桌面(而不是.Mobile)版本的视图。我完全不知道该如何解决这个问题


它正在检测手机版本,但它不是。。。有什么想法吗?

引擎使用位于此处的文件-
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers

(或
\Framework64\

这两种机器上可能不同。使用Request.Browser.IsMobileDevice找出哪些设备检测到了什么。编写自定义显示模式也有帮助吗


我认为我下面给出的解决方案就是答案(它在短时间内起作用),但过了一会儿,它仍然切换到了错误的观点

像互联网的其他部分一样,我安装了 这是完美的工作,并且非常容易设置


(下面这句话对我不管用,但也许对你管用)

看起来这是一个已知的bug:

根据上面的codeplex链接,请记住确保:

用于自定义已注册视图列表的一小部分项目 引擎(例如,在Global.asax中),您应该确保 正在引用Microsoft.Web.Mvc.FixedRazorViewEngine或 Microsoft.Web.Mvc.FixedWebFormViewEngine,而不是 在核心运行时二进制文件中发布


而且,它只在主页上执行此操作。。所有其他页面在应该的时候都使用.mobile版本的视图。我正好遇到了这个问题。我的暂存机器呈现默认路由/的移动视图,但prod机器不呈现。不过,在prod上,我可以浏览到/home,这样就可以了。重新启动prod[在一段时间内]修复了它。我求助于编写一个if,然后在控制器中在应该的时候执行移动视图。一个变通方法,但我还没有解决原来的问题。这很有趣,因为我上面提到的变通方法使用Request.Browser.IsMobileDevice手动放置正确的视图。。所以这不是问题:)您是否检查了两台服务器上的浏览器文件?您是否尝试过自定义显示模式?如果不是,那么“这不是问题”就毫无意义了。