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

[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]

该元素指定搜索字符串列表,使您能够将不同的设置应用于特定的浏览器定义。

备注

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

<filter> 
   [assignments, filter elements and case elements]
<filter>
<filter 
   match="[regular expression]" 
   with="[regular expression]" >
   [browser capability assignments, filter elements, case elements]
</filter>
<filter>
   <case>...</case>
</filter>

特性和元素

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

特性

特性

说明

match

可选的 String 特性。

指定针对 with 特性测试的 .NET Framework 正则表达式。 如果忽略,则假定该匹配已成功。

with

可选的 String 特性。

指定要搜索的 .NET Framework 正则表达式或字符串。 如果忽略,则使用 use 元素指定的字符串。

子元素

元素

说明

case

允许模式匹配在处理大量替换选项中的第一个成功匹配后停止。

父元素

元素

说明

configuration

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

system.web

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

browserCaps

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

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

备注

browserCaps 元素指定搜索字符串列表,使您能够将不同的设置应用于特定的浏览器定义。 列表中包含的规则按顺序应用。 计算匹配的第一个子 case 元素并忽略其余的子 case 元素。

默认配置

在 .NET Framework 2.0 版中,未配置 filter 元素,因为 browserCaps 元素已被否决,并改为使用浏览器定义文件来指定受支持的浏览器及其功能。 有关更多信息,请参见浏览器定义文件架构(browsers 元素)

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

示例

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

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

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

<configuration>
   <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>
</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

请参见

任务

How to: Detect Browser Types in ASP.NET Web Pages

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

参考

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

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

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

configuration 元素(常规设置架构)

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

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

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

System.Configuration

System.Web.Configuration

HttpCapabilitiesSectionHandler

Browsers

概念

ASP.NET Server Controls and Browser Capabilities

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

其他资源

常规配置设置 (ASP.NET)

ASP.NET 配置设置

Configuring ASP.NET Applications

ASP.NET Configuration API