browserCaps 元素(ASP.NET 设置架构)

指定所支持的浏览器及其功能的设置。 可以根据需要更新 browserCaps 元素以指定新的浏览器及其功能。

注意注意

使用 Web.config 文件中的 browserCaps 元素来定义浏览器的行为在 .NET Framework 2.0 中被否决,但仍受支持。此元素中的数据与浏览器定义文件 (.browser) 中的信息合并在一起,这些文件位于计算机级别的 %SystemRoot%\Microsoft.NET\Framework\版本\CONFIG\Browsers 文件夹以及任何现有的应用程序级别的 App_Browser 文件夹中。有关更多信息,请参见 浏览器定义文件架构(browsers 元素)

<browserCaps>
   <result />
   <use />
   [browser capability property assignments]
   <filter>...</filter>
</browserCaps>

特性和元素

以下几节描述了属性、子元素和父元素。

特性

特性

说明

userAgentCacheKeyLength

可选的 String 特性。

指定浏览器标识字符串的长度,该标识字符串要用作内部缓存中的缓存浏览器功能对象的键。 有关浏览器功能对象的更多信息,请参见 浏览器定义文件架构(browsers 元素)

此特性是 .NET Framework 2.0 版中的新特性。

默认值为 "64"。

子元素

元素

说明

filter

可选元素。

指定搜索字符串列表,通过这些字符串可以将各个设置分别应用于特定的浏览器定义。

result

指定 HttpCapabilitiesBase 派生类,该类用于保存 browserCaps 节的分析结果。 这些功能针对各个浏览器存储为键/值字符串对。

此元素在 .NET Framework 2.0 版中仍然适用。

use

指定 HTTP 请求字符串,该字符串用于分析存储在 filter 和 case 元素中的浏览器功能信息。

父元素

元素

说明

configuration

指定公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。

system.web

指定配置文件中 ASP.NET 配置设置的根元素,并包含用于配置 ASP.NET Web 应用程序和控制应用程序行为方式的配置元素。

备注

browserCaps 元素指定所支持的浏览器及其功能的设置。 可以根据需要更新 browserCaps 元素以指定新的浏览器及其功能。

若要查看有效浏览器属性的列表,请参见 HttpBrowserCapabilities

capsVariableName=正则表达式形式的行是赋值语句。 在 match 特性中和赋值语句右侧使用语法 %{capsVariableName} 或 ${captureGroupName}。

有关如何使用正则表达式的更多信息,请参见 .NET Framework 正则表达式。 若要查看完整的 browserCaps 节以及关于此语法的完整示例,请参见随 .NET Framework 一起安装的 Machine.config 文件。

用 capsVariableName 捕获的名称/值对可以通过从 HttpCapabilitiesBase 类继承的 HttpBrowserCapabilities 对象的 Item 属性进行访问。 Item 属性在 C# 中是默认的索引器属性。

默认配置

在 .NET Framework 2.0 版中,在根 Web.config 文件中配置了以下默认 browserCaps 元素,但该元素在使用上有一定的限制,因为该元素已被否决,而改为使用浏览器定义文件来指定受支持的浏览器及其功能。 有关更多信息,请参见浏览器定义文件架构(browsers 元素)

<browserCaps userAgentCacheKeyLength="64">
   <result 
      type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
   />
</browserCaps>

在 .NET Framework 1.0 版和 1.1 版中,machine.config 文件中配置的默认 browserCaps 元素太多,恕不在此列出。 若要获得浏览器数据的更新,请访问 http://www.cyscape.com/browsercaps。 定期设备更新将替代浏览器功能的此部分。

示例

下面的代码示例演示如何为任意版本的 Microsoft Internet Explorer 分析 User-Agent HTTP 标头(前提是 User-Agent 字符串的格式基本保持不变)。

此示例使用 .NET Framework 正则表达式,并且利用正则表达式捕获子表达式的能力,将版本号从 User-Agent 字符串直接移到 HttpBrowserCapabilities 对象。

此文件以赋值语句的形式指定名称/值对,类似于 Microsoft Internet 信息服务 (IIS) browscap.ini 文件。 例如,"browser=IE" 行将浏览器字段的值设置为字符串 "IE"。

<configuration>
 <system.web>
   <browserCaps>
      <result type="System.Web.HttpBrowserCapabilities, System.Web"/>
      <use var="HTTP_USER_AGENT"/>
      browser=Unknown
      version=0.0
      majorversion=0
      minorversion=0
      frames=false
      tables=false
      cookies=false
      backgroundsounds=false
      <filter>
    <case match="^Mozilla[^(]*\(compatible; MSIE 
       (?'ver'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))
       (?'extra'.*)">
       browser=IE
       version=${ver}
       majorver=${major}
       minorver=${minor}
       <case match="^2\." with="%{version}">
          tables=true
          cookies=true
          backgroundsounds=true
          <case match="2\.5b" with="%{version}">
        beta=true
          </case>
       </case>
    </case>
      </filter>
   </browsercaps>
 </system.web>
</configuration>

元素信息

配置节处理程序

HttpCapabilitiesSectionHandler

配置成员

Browsers

可配置的位置

Machine.config

根级别的 Web.config

应用程序级别的 Web.config

虚拟或物理目录级别的 Web.config

要求

Microsoft Internet 信息服务 (IIS) 版本 5.0、5.1 或 6.0

.NET Framework 版本 2.0(已否决)、1.1 或 1.0

Microsoft Visual Studio 2003 或 Visual Studio 2005

请参见

任务

如何:在 ASP.NET 网页中删除浏览器类型和浏览器功能

如何:使用位置设置配置特定目录

如何:锁定 ASP.NET 配置设置

参考

system.web 元素(ASP.NET 设置架构)

configuration 元素(常规设置架构)

browserCaps 的 filter 元素(ASP.NET 设置架构)

browserCaps 的 result 元素(ASP.NET 设置架构)

browserCaps 的 use 元素(ASP.NET 设置架构)

浏览器定义文件架构(browsers 元素)

System.Configuration

System.Web.Configuration

HttpCapabilitiesSectionHandler

Browsers

概念

ASP.NET Web 服务器控件和浏览器功能

ASP.NET 配置文件层次结构和继承

保证 ASP.NET 配置的安全

ASP.NET 配置方案

其他资源

常规配置设置 (ASP.NET)

ASP.NET 配置设置

ASP.NET 网站管理

ASP.NET 配置 API