为什么服务器端的浏览器检测不一致?

问题描述

| 我在IIS上部署了ASP.net Web应用程序。当我在本地使用IE8访问它时,通过“ 0”将浏览器正确检测为IE8。 如果我使用IE8访问相同的Web应用程序,但是这次是从另一台计算机远程访问,则
request.browser
报告浏览器为IE7? 我一直在用这个旋转轮子,您知道为什么会这样或如何纠正吗? 编辑: 不,在任何实例上都未打开兼容模式。我仔细检查了。 这是在两种情况下报告给服务器的字符串: 远程访问:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
本地访问:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)
    

解决方法

是的,事实证明它是兼容模式(感谢ŠimeVidas)。 除非我没有明确将其打开,而且IE对我来说并不明显。 默认情况下,在安装完新的IE8副本后,它具有选项
Display intranet sites in Compatibility View
ON。并且由于我正在网络中进行测试,因此该选项生效。偷偷摸摸... 在“工具->兼容性视图设置”中,取消选中“在兼容性视图中显示Intranet网站”