<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 文字列の形式がほとんど変更されていない場合に限ります)。

この例では、.NET Framework の正規表現と、部分式をキャプチャできる正規表現の機能を利用して、バージョン番号を User-Agent 文字列から browserCaps オブジェクトに直接移動しています。

このファイルでは、Microsoft Internet Information Services (IIS) の browscap.ini ファイルと同様の代入ステートメントの形式で、名前と値のペアを指定します。たとえば、"browser=IE" という行は、browser フィールドの値を "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> グループの正常な一致が検出され評価された後では、外側のグループの末尾までスキップして実行が継続されます。

必要条件

格納されている場所 : <system.web>

Web プラットフォーム : IIS 5.0、IIS 5.1、IIS 6.0

構成ファイル : Machine.config、Web.config

構成セクション ハンドラ : System.Web.Configuration.HttpCapabilitiesSectionHandler

参照

<browserCaps> 要素 | <filter> 要素 | ASP.NET の構成 | ASP.NET 設定スキーマ