为什么ASP.NET MVC中的移动视图在不同的服务器上显示不同?

前端之家收集整理的这篇文章主要介绍了为什么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中添加任何定制的东西。

UPDATE

经过一些更多的研究,我看起来显然DisplayMode和移动视图的默认行为取决于Request.Browser.IsMobileDevice标志。该标志反过来似乎依赖于.NET Framework文件夹的Config / Browsers文件夹中的.browser文件

在我的开发机器上,我具有不同于我部署到的服务器上的.browser文件。到目前为止,我已经尝试在网络应用程序的App_Browsers-文件夹中部署我的机器上的那些,但是这并不能解决我的问题。可能这样吗?

解决方法

这不是你的问题的完整答案,但我认为这仍然有帮助。

ASP.NET在我的经验中不是很好地解决浏览器功能。所以,我可以建议看看51Degrees.Mobi Foundation.史蒂文·桑德森有一个很好的博客文章

Using 51Degrees.Mobi Foundation for accurate mobile browser detection on ASP.NET MVC 3

我不完全确定,但您应该可以轻松地将其挂钩到ASP.NET MVC 4 DisplayMode基础架构。这是一个很好的资源:

51Degrees.mobi and MVC4

原文链接:https://www.f2er.com/aspnet/252510.html

猜你在找的asp.Net相关文章