gpt4 book ai didi

asp.net - 为什么 ASP.NET MVC 中的移动 View 在不同的服务器上显示不同?

转载 作者:行者123 更新时间:2023-12-03 14:21:44 24 4
gpt4 key购买 nike

我正在使用新的 ASP.NET MVC 4 beta 并尝试创建一个主要适用于响应式设计的系统,但是对于一个特定的 View ,我使用移动 View 来为移动设备呈现特定的 View 。

我的结构很简单,我有一个 Show.cshtml,然后我有一个 Show.mobile.cshtml。

如果我通过 IIS Express 从我的开发机器上提供我的网站,此 View 将正确显示 iPad、iPhone、Android 手机和移动 Opera,如果我在我的开发机器上将本地发布到 IIS 7.5,它也可以正常工作。

当我们部署到实时服务器时,问题就来了,我们尝试在两个不同的服务器上进行部署。然后移动 View 将只提供给 iPhone,而不提供给其他移动设备。这是一贯如此。我们的服务器设置为 Windows 2003/IIS6 和 Windows 2008 R2/IIS7.5,两者的工作方式相同,只有 iPhone 提供移动 View 。

这可能是什么原因?

我没有为此在 global.asax 中添加任何自定义内容。

更新

经过更多研究,我似乎很清楚 DisplayMode 和移动 View 的默认行为取决于 Request.Browser.IsMobileDevice 标志。反过来,此标志似乎依赖于 .NET Framework 文件夹的 Config/Browsers 文件夹中的 .browser 文件。

在我的开发机器上,我的 .browser 文件与我部署到的服务器上的文件不同。到目前为止,我已经尝试将我的机器上的那些部署在 Web 应用程序的 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

关于asp.net - 为什么 ASP.NET MVC 中的移动 View 在不同的服务器上显示不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10494419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com