<case> 元素

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

配置结构的示例:

<configuration>
   <system.web>
      <browserCaps>
         <filter>
            <case>

<case match="[regex expression]" with="[regex expression]">
   [assignments, filter elements and case elements]
</case>

必需的属性

属性 描述
match 针对 with 属性测试的 .NET Framework 正则表达式。如果忽略,则假定匹配成功。
with 要搜索的 .NET Framework 正则表达式或字符串。如果忽略,则使用由 <use> 元素指定的字符串。

示例

下例演示对任何版本的 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>

注释

所有 <filter><case> 元素都可包含赋值和其他 <filter><case> 元素。<case><filter> 组的区别如下:在评估 <filter> 组之后,继续执行该组后面的语句,但在成功匹配和评估 <case> 组后,执行会跳到封闭组的末端。

要求



相关主题


© 1997-2003 Microsoft Corporation。保留所有权利