调试 MVC 应用程序时出现奇怪的用户代理

Strange user agent when debugging MVC application

我在其他任何地方都找不到与此神秘行为相关的 post,如果有明显的答案,请原谅。

我正在各种浏览器中测试应用程序,IE 11 有一些奇怪的行为。

当我访问一个告诉我我的用户代理的网站时,我得到:

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

这是 IE11 的标准。

然而,当我 运行 我的应用程序时,用户代理仅在 IE11 上有所不同。 我尝试通过添加 Global.asax:

在 IE11 上调试应用程序
  protected void Application_BeginRequest()
  {
      var ua1 = Request.Headers["User-Agent"];
      var ua2 = Request.UserAgent;
  }

两者都显示:

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

Chrome 在两种情况下显示相同,但​​ IE 11 显示不同的用户代理,具体取决于我是在我的应用程序中还是在任何其他选项卡中。所以我的应用程序似乎以某种方式影响了用户代理,但只有在使用 IE11 查看它时才会如此。

有人可以解释一下并告诉我如何通过我的应用程序获得相同的用户代理吗?知道为什么会这样吗?

理想情况下,我希望在调试时获得预期的用户代理:

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

您是否打开了 F12 开发人员工具 window 并将浏览器仿真设置为 IE7,或者将用户代理欺骗设置为 Internet Explorer 7?

您可以在该工具的 Emulation 选项卡中找到它。

或者,如果未设置,您是否检查过 IE 在 "Compatibility Mode" 中是否为 运行 - 因为它可能被设置为对 Intranet 站点执行此操作。如果是这样,这个问题可能与以下问题重复:

IE11 User-Agent - Wrong one when pointing towards localhost - Right one when going towards my PC name?

还有:

IE 11 sends different User-Agent header to different subdomains