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

更新:2007 年 11 月

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

说明:

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

configuration 元素(常规设置架构)
  system.web 元素(ASP.NET 设置架构)
    browserCaps 元素(ASP.NET 设置架构)

<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 配置设置

概念

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

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

保证 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)

ASP.NET 配置设置

管理 ASP.NET 网站

ASP.NET 配置 API