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

确定IIS/ASP.NET是否识别IE 11浏览器版本,asp.net,.net,internet-explorer,compatibility,Asp.net,.net,Internet Explorer,Compatibility,因此,当微软推出新的浏览器版本时,他们需要对.NET Framework进行更新,使其能够识别浏览器版本,否则某些功能可能会被破坏 我看到了这一点——某些页面只在兼容性视图中工作,它们也在Chrome中工作。然后,其他页面将无法在兼容性视图中工作,但在浏览器强制执行时,它们将在边缘模式下工作。我们有可怕的标签 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 在网站上以兼容模式运行时,它是: Mozill

因此,当微软推出新的浏览器版本时,他们需要对.NET Framework进行更新,使其能够识别浏览器版本,否则某些功能可能会被破坏

我看到了这一点——某些页面只在兼容性视图中工作,它们也在Chrome中工作。然后,其他页面将无法在兼容性视图中工作,但在浏览器强制执行时,它们将在边缘模式下工作。我们有可怕的标签

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 
在网站上以兼容模式运行时,它是:

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_浏览器文件夹不包含任何浏览器定义文件

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

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的内容如下:

<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>
在Web.Config中启用跟踪后,我得到了以下值得注意的信息:

标题集合

User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
X-AspNet-Version    4.0.30319
SERVER_SOFTWARE Microsoft-IIS/7.5
响应标题集合

User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
X-AspNet-Version    4.0.30319
SERVER_SOFTWARE Microsoft-IIS/7.5

这里有两篇关于asp.net浏览器功能的文章