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>
元素信息
配置节处理程序 |
|
配置成员 |
|
可配置的位置 |
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 的 filter 的 case 元素(ASP.NET 设置架构)
browserCaps 的 result 元素(ASP.NET 设置架构)
browserCaps 的 use 元素(ASP.NET 设置架构)
HttpCapabilitiesSectionHandler
概念
ASP.NET Server Controls and Browser Capabilities
ASP.NET Configuration File Hierarchy