.net 请求浏览器返回InternetExplorer而不是带有默认用户代理的IE

.net 请求浏览器返回InternetExplorer而不是带有默认用户代理的IE,.net,internet-explorer,user-agent,httpbrowsercapabilities,.net,Internet Explorer,User Agent,Httpbrowsercapabilities,根据Microsoft的文档,您可以使用以下代码检查Internet Explorer System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser; if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).Browser.ToUpper().IndexOf("IE") >= 0) { labelText = "Browser is

根据Microsoft的文档,您可以使用以下代码检查Internet Explorer

System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).Browser.ToUpper().IndexOf("IE") >= 0)
{
    labelText = "Browser is Internet Explorer.";
}
else
{
    labelText = "Browser is not Internet Explorer.";
}
在我的MVC应用程序中,以下代码返回的是
InternetExplorer
NOT
IE

string browser = HttpContext.Request.Browser.Browser;
使用IE的开发者工具,我可以将用户代理字符串更改为除
Default
之外的任何IE,它们返回
IE
,如文档所述,但默认返回
InternetExplorer


他们为什么要将该字符串更改为
InternetExplorer
?有没有任何文档说明他们为什么会这样做?

有几个客户因为这个原因被我的门户网站阻止了(上百个用户正在使用IE11)

这两个客户的ie版本是Explorer 11.0.9600.17691 CO和11.0.9600.97843IS

这些是IE的自定义版本:

从Oracle VM VirtualBox下载并安装Windows 7 IE11

然后下载了IEAK。英语。奇怪的是,安装程序使c:\builds\07072015没有语言下拉列表。我进入控制面板,选择了英语(切换)。打开向导时,下拉菜单起作用

跑步: C:\builds\07082015\INS\WIN32\u WIN7\EN-US\IE11安装程序已满

只是浏览了一下向导,没有添加或自定义任何内容。 重新启动后:

IE现在上升到11.0.9600.17420IS

指向安装了转储
Request.Browser.Browser
的开发人员站点,它出现了
InternetExplorer
。。。不是

这是Win7 64位集成版和Windows 2k12上的.NET4.0(未选中4.5、4.5.1等)。出于某种原因,它检测IEAK的方式不同

解决方案很简单,我会让代码也允许

仅供参考:useragentstring.com字符串看起来相同 Mozilla/5.0(WindowsNT6.1;Trident/7.0;rv:11.0)类似Gecko

IEAK (Microsoft Internet Explorer Administration Kit)
   IC = Internet content provider
   IS = Internet service provider
   CO = Corporate administrator