首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定IIS/ASP.NET是否识别IE11浏览器版本

确定IIS/ASP.NET是否识别IE11浏览器版本
EN

Stack Overflow用户
提问于 2016-04-06 09:07:29
回答 1查看 1.6K关注 0票数 0

因此,当微软推出新的浏览器版本时,他们需要对.NET框架进行更新,以使其识别浏览器版本,否则某些功能可能会中断。

ASP.NET没有检测到IE11

我见证了这一点-某些页面只在兼容性视图中工作,而且它们也在Chrome中工作。然后,其他页面将无法在兼容性视图中工作,但在浏览器强制使用时,它们将以边缘模式工作。我们有可怕的标签

代码语言:javascript
复制
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 

在一个母版页,这是我们的第一个10,但不是我问下面的问题。

问题

问题是,我如何在服务器上得到一些结论性的证据--它认为客户机浏览器是什么?

另外,是否有关于ASP.NET如何使用这些.browser文件的信息--如何确定ASP.NET如何使用它们来匹配用户代理,以及其他部分是什么。

背景

我们有一个旧的ASP.NET网站项目在VS2013下运行,目标是.NET4。我已经在机器上安装了带有VS2015版本的.NET

我已经检查了小斑点网,看看我有哪个版本。它写的是4.6.1,并给出了我的用户代理:

代码语言:javascript
复制
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

在网站上以兼容模式运行时,如下所示:

代码语言:javascript
复制
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; MS-RTC EA 2)

现在,解决方案中的ASP_Browsers文件夹不包含任何浏览器定义文件。

我在.browser文件夹下有以下C:\Windows\Microsoft.NET\Framework文件:

代码语言:javascript
复制
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\avantgo.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\cassio.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\Default.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\docomo.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\ericsson.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\EZWap.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\gateway.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\generic.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\goAmerica.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\ie.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\Jataayu.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\jphone.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\legend.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\MME.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\mozilla.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\netscape.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\nokia.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\openwave.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\opera.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\palm.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\panasonic.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\pie.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\webtv.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\winwap.browser
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\xiino.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\blackberry.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\chrome.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\Default.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\firefox.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\gateway.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\generic.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\ie.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\iemobile.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\iphone.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\opera.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\safari.browser
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\ucbrowser.browser

v4.0.30319\Config\Browsers\ie.browser的内容如下:

代码语言:javascript
复制
<browsers>
    <browser id="IE" parentID="Mozilla">
        <identification>
            <userAgent match="MSIE (?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />
            <userAgent nonMatch="IEMobile" />
        </identification>

        <capture>
            <userAgent match="Trident/(?'layoutVersion'\d+)" />
        </capture>

        <capabilities>
            <capability name="browser"              value="IE" />
            <capability name="layoutEngine"         value="Trident" />
            <capability name="layoutEngineVersion"  value="${layoutVersion}" />
            <capability name="extra"                value="${extra}" />
            <capability name="isColor"              value="true" />
            <capability name="letters"              value="${letters}" />
            <capability name="majorversion"         value="${major}" />
            <capability name="minorversion"         value="${minor}" />
            <capability name="screenBitDepth"       value="8" />
            <capability name="type"                 value="IE${major}" />
            <capability name="version"              value="${version}" />
        </capabilities>
    </browser>

    <!-- Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4325) -->
    <browser id="IE6Plus" parentID="IE">
        <identification>
            <capability name="majorversion" match="^[6-9]|\d{2,}$" />
        </identification>

        <capabilities>
            <capability name="jscriptversion"       value="5.6" />
            <capability name="msdomversion"         value="${majorversion}.${minorversion}" />
            <capability name="ExchangeOmaSupported" value="true" />
            <capability name="activexcontrols"      value="true" />
            <capability name="backgroundsounds"     value="true" />
            <capability name="javaapplets"          value="true" />
            <capability name="supportsVCard"        value="true" />
            <capability name="supportsAccessKeyAttribute"    value="true" />
            <capability name="vbscript"             value="true" />
        </capabilities>
    </browser>

    <!-- Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0;) -->
    <browser id="IE6to9" parentID="IE6Plus">
      <identification>
        <capability name="majorversion" match="^[6-9]$" />
      </identification>
    </browser>

    <!-- Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0;) -->
    <browser id="IE7" parentID="IE6to9">
        <identification>
            <capability name="majorversion" match="^7$" />
        </identification>
        <capabilities>
            <capability name="jscriptversion" value="5.7" />
        </capabilities>
    </browser>

    <!-- Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729) -->
    <browser id="IE8" parentID="IE6to9">
        <identification>
            <capability name="majorversion" match="^8$" />
        </identification>
        <capabilities>
            <capability name="jscriptversion" value="6.0" />
        </capabilities>
    </browser>

  <!-- Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729) -->
  <browser id="IE9" parentID="IE6to9">
    <identification>
      <capability name="majorversion" match="^9$" />
    </identification>
    <capabilities>
      <capability name="jscriptversion" value="6.0" />
    </capabilities>
  </browser>

  <!-- Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) -->
  <browser id="IE10Plus" parentID="IE6Plus">
    <identification>
      <capability name="majorversion" match="\d{2,}" />
    </identification>
    <capabilities>
      <capability name="jscriptversion" value="6.0" />
    </capabilities>
  </browser>

  <browser id="InternetExplorer" parentID="Mozilla">
    <identification>
      <userAgent match="Trident/(?'layoutVersion'[7-9]|0*[1-9]\d+)(\.\d+)?;(.*;)?\s*rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)))" />
      <userAgent nonMatch="IEMobile" />
      <userAgent nonMatch="MSIE " />
    </identification>

    <capabilities>
      <capability name="browser"              value="InternetExplorer" />
      <capability name="version"              value="${version}" />
      <capability name="majorversion"         value="${major}" />
      <capability name="minorversion"         value="${minor}" />
      <capability name="layoutEngine"         value="Trident" />
      <capability name="layoutEngineVersion"  value="${layoutVersion}" />
      <capability name="type"                 value="InternetExplorer${major}" />
    </capabilities>
  </browser>

  <gateway id="IEbeta" parentID="IE">
     <identification>
        <capability name="letters" match="^([bB]|ab)" />
     </identification>

     <capture>
     </capture>

     <capabilities>
        <capability name="beta"    value="true" />
     </capabilities>
  </gateway>

</browsers>

在我的Windows 7机器上,一切都在本地运行。我在跑步:

代码语言:javascript
复制
Windows 7 64-bit SP1.  
I have the website running in IIS 7.5.7600.16385.
IE11 (11.0.9600.18230)    

在Web.Config中启用了跟踪之后,我得到了注意的以下信息:

标头集合

代码语言:javascript
复制
User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

响应标头集合

代码语言:javascript
复制
X-AspNet-Version    4.0.30319
SERVER_SOFTWARE Microsoft-IIS/7.5
EN

回答 1

Stack Overflow用户

发布于 2016-04-29 21:17:10

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36446427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档