用于控制浏览器功能组件的设置。<browserCaps> 元素可在计算机、站点、应用程序或子目录级别进行声明。<browserCaps> 元素可按要求进行更新,以检测以后的浏览器及其功能。
有关有效的浏览器属性列表的信息,请参阅 .NET Framework 帮助中的 HttpBrowserCapabilities 类。
配置结构的示例:
<configuration>
<system.web>
<browserCaps>
<browserCaps>
<result type="class"/>
<use var="HTTP_USER_AGENT"/>
browser=Unknown
version=0.0
majorver=0
minorver=0
frames=false
tables=false
<filter>
<case match="Windows 98|Win98">
platform=Win98
</case>
<case match="Windows NT|WinNT">
platform=WinNT
</case>
</filter>
<filter match="Unknown" with="%(browser)">
<filter match="Win95" with="%(platform)">
</filter>
</filter>
</browserCaps>
子标记 | 描述 |
---|---|
<use> | 指定在评估本节中的 <filter>、<case> 和赋值时使用的服务器变量。 |
<filter> | 评估第一个匹配的子 <case> 元素;其他均被忽略。 |
<result> | 指定用于防止结果项/值字符串对分析本节的 HttpCapabilitiesBase 的派生类(例如,在上面语法块中的 browser 、version 和 majorver )。该字符串在运行时用来创建返回类型。 |
capsVariableName=
regular expression 格式的行是赋值。请使用 match 属性中和赋值右边的语法 %{capsVariableName}
或 ${captureGroupName}
。有关使用正则表达式的详细信息,请参阅 .NET Framework 帮助中的“.NET Framework 正则表达式”主题。有关包含此语法更完全的示例的完整 <browserCaps> 章节,请参阅与 .NET Framework 一起安装的 Machine.config 文件。
您可以通过从 HttpCapabilitiesBase 继承而来的 HttpBrowserCapabilities 的 Item 属性访问使用 capsVariableName
捕获的名称/值对。Item 属性是 C# 中默认的索引器属性。
下例演示对任何版本的 Internet Explorer 的 User-Agent HTTP 头的分析(前提是 User-Agent 字符串的格式大致保持不变)。
本例使用正则表达式及其功能来捕获子表达式,以便将版本号从 User-Agent 字符串直接移到 browser caps 对象中。
该文件以赋值语句的形式指定名称/值对,与 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>