<browserCaps> 要素
ブラウザ機能コンポーネントの設定値を制御します。<browserCaps> 要素は、コンピュータ、サイト、アプリケーション、サブディレクトリの各レベルで宣言できます。<browserCaps> 要素は、将来のブラウザおよびブラウザ機能を検出するために、必要に応じて更新できます。
有効なブラウザ プロパティの一覧については、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 の正規表現」を参照してください。この構文のより詳細な例を含む完全な <browserCaps> セクションについては、.NET Framework と共にインストールされる Machine.config ファイルを参照してください。
capsVariableName
と共にキャプチャされた名前と値のペアには、HttpCapabilitiesBase から継承される HttpBrowserCapabilities の Item プロパティを使用してアクセスできます。Item プロパティは、C# での既定のインデクサ プロパティです。
例
任意のバージョンの 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>
必要条件
格納されている場所 : <system.web>
Web プラットフォーム**** : IIS 5.0、IIS 5.1、IIS 6.0
構成ファイル : Machine.config、Web.config
構成セクション ハンドラ : System.Web.Configuration.HttpCapabilitiesSectionHandler