来自请求对象的不一致的浏览器类型值

时间:2011-09-06 16:29:22

标签: c# browser request httprequest httpbrowsercapabilities

我正在编写一个C#应用程序,我需要在其中检索用户浏览器类型。

我从Request对象获取上述内容,特别是:Request.Browser.Type,它是System.Web.HttpBrowserCapabilitiesBase的成员。

我从中得到的结果并不一致。大多数情况下返回用户浏览器是正确的,例如IE7等,但奇怪的是它返回值“桌面”。我不明白为什么要返回这个,因为用户通过网络浏览器访问网站显然不正确。

任何人都知道为什么要退回这个以及我如何“修复”它或使用其他方式持续获取用户浏览器类型?

1 个答案:

答案 0 :(得分:1)

ASP.Net在其数据库中没有Chrome信息,因此它无法自动检测到它,除了说桌面...这实际上表明它是桌面计算机浏览器而不是移动浏览器。您可以使用Request.browser.browsers等等,最好的是AppleSafari

然而,有很多替代品存在并且适用于许多人。

以下是替代方案的链接,它可以为您提供检测铬的功能。

http://weblogs.asp.net/ricardoperes/archive/2009/09/22/detecting-chrome-browser-in-asp-net.aspx