サポートされているブラウザの設定およびサポートされているブラウザの機能を指定します。browserCaps 要素は、新しいブラウザとその機能を指定するために、必要に応じて更新できます。
Web.config ファイル内で browserCaps 要素を使用してブラウザを定義する方法は、.NET Framework 2.0 では使用されませんが、サポートは継続しています。この要素内のデータは、マシン レベルの %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers フォルダおよびアプリケーション レベルのすべての App_Browser フォルダに配置されているブラウザ定義ファイル (.browser) の情報とマージされます。詳細については、「ブラウザ定義ファイルのスキーマ (browsers 要素)」を参照してください。
<browserCaps> <result /> <use /> [browser capability property assignments] <filter>...</filter> </browserCaps>
以降のセクションでは、属性、子要素、および親要素について説明します。
userAgentCacheKeyLength
省略可能な String 型の属性です。
内部キャッシュのキャッシュ ブラウザ機能オブジェクトのキーとして使用するブラウザ識別文字列の長さを指定します。ブラウザ機能オブジェクトの詳細については、「ブラウザ定義ファイルのスキーマ (browsers 要素)」を参照してください。
この属性は .NET Framework Version 2.0 で新たに追加されました。
既定値は "64" です。
filter
省略可能な要素です。
個々の設定を特定のブラウザ定義に適用できる検索文字列の一覧を指定します。
result
browserCaps セクションの解析結果を保持するために使用する、HttpCapabilitiesBase から派生したクラスを指定します。機能は、ブラウザごとにキーと値の文字列のペアとして格納されます。
この要素は、.NET Framework Version 2.0 でも適用されます。
use
filter 要素および case 要素に格納されているブラウザ機能情報の解析に使用する HTTP 要求文字列を指定します。
configuration
共通言語ランタイムおよび .NET Framework ベースのアプリケーションで使用されるすべての構成ファイルで必要なルート要素です。
system.web
構成ファイルの ASP.NET 構成設定のルート要素を指定します。ASP.NET Web アプリケーションを構成する構成要素やアプリケーションの動作を制御する構成要素が含まれます。
browserCaps 要素は、サポートされているブラウザの設定およびサポートされているブラウザの機能を指定します。browserCaps 要素は、新しいブラウザとその機能を指定するために、必要に応じて更新できます。
有効なブラウザ プロパティの一覧については、「HttpBrowserCapabilities」を参照してください。
形式 capsVariableName=regular expression の行は、代入式です。構文 %{capsVariableName} または ${captureGroupName} を match 属性および代入式の右側で使用します。
正規表現の使用方法の詳細については、「.NET Framework の正規表現」を参照してください。この構文の詳細な例を含む完全な browserCaps セクションについては、.NET Framework と共にインストールされる Machine.config ファイルを参照してください。
capsVariableName と共にキャプチャされた名前と値のペアには、HttpCapabilitiesBase クラスから継承される HttpBrowserCapabilities オブジェクトの Item プロパティを使用してアクセスできます。Item プロパティは、C# での既定のインデクサ プロパティです。
.NET Framework Version 2.0 では、サポートされているブラウザとその機能の指定にブラウザ定義ファイルを使用するために、browserCaps 要素の使用は推奨されていません。そのため、次のような制限付きの既定の browserCaps 要素がルートの Web.config ファイルで構成されます。詳細については、「ブラウザ定義ファイルのスキーマ (browsers 要素)」を参照してください。
<browserCaps userAgentCacheKeyLength="64"> <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </browserCaps>
.NET Framework Versions 1.0 および 1.1 では、machine.config ファイルで構成される既定の browserCaps 要素が、ここに示せないほどの大きさになります。ブラウザ データの更新については、http://www.cyscape.com/browsercaps を参照してください。定期的なデバイスの更新により、このブラウザ機能セクションが置き換えられます。
任意のバージョンの Internet Explorer に対する User-Agent HTTP ヘッダーを解析する方法を次のコード例に示します (User-Agent 文字列の形式がほとんど変更されていない場合に限ります)。
この例では、.NET Framework の正規表現と、部分式をキャプチャできる正規表現の機能を利用して、バージョン番号を User-Agent 文字列から HttpBrowserCapabilities オブジェクトに直接移動しています。
このファイルでは、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>
構成セクション ハンドラ
HttpCapabilitiesSectionHandler
構成メンバ
Browsers
構成できる場所
Machine.config
ルート レベルの Web.config
アプリケーション レベルの Web.config
仮想ディレクトリ レベルまたは物理ディレクトリ レベルの Web.config
必要条件
Microsoft Internet Information Services (IIS) バージョン 5.0、5.1、または 6.0
.NET Framework Version 2.0 (使用は推奨されません)、1.1、または 1.0
Microsoft Visual Studio 2003 または Visual Studio 2005