客户端浏览器版本. NET未启用兼容性视图

本文关键字:启用 兼容性 视图 NET 浏览器 版本 客户端 | 更新日期: 2023-09-27 18:11:17

我有点困惑,试图从客户端检索浏览器版本。我使用两种方法来检查这一点,并比较测试结果。

  1. HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"];
  2. System.Web.HttpBrowserCapabilities browser = HttpContext.Current.Request.Browser; string version = browser.Version;

当我在本地开发机器上使用内置的VS2012开发服务器,然后在IE 10 web浏览器中查看结果是(客户端结果是真实的):

  1. 您的浏览器是ie10.0
  2. Mozilla/5.0 (compatible;MSIE 10.0;Windows NT 6.1;WOW64;三叉戟/6.0)

当我上传到生产服务器(IIS 7.5 Windows 2008 R2),并在相同的客户端web浏览器(IE 10)或使用不同的客户端与IE 9, 8浏览器打开的结果如下(什么是不正确的,每个客户端有不同的浏览器):

    7.0
  1. Mozilla/4.0 (compatible;MSIE 7.0;Windows NT 6.1;WOW64;三叉戟/6.0;SLCC2;.net CLR 2.0.50727;.net CLR 3.5.30729;.net CLR 3.0.30729;Media Center PC 6.0;.NET4.0C;InfoPath.3;.NET4.0E)

如果我的假设是正确的,我应该如何在c#中使用上述代码来获得客户端浏览器版本而不是服务器。

客户端浏览器版本. NET未启用兼容性视图

对于某些本地内部网地址,IE将默认为遗留模式——这可能会使它看起来像服务器的IE7。

添加一个<meta http-equiv="X-UA-Compatible" content="IE=edge" />到你的页面,看看是否有帮助。