browserCaps 要素 (ASP.NET 設定スキーマ)

更新 : 2007 年 11 月

サポートされているブラウザの設定およびサポートされているブラウザの機能を指定します。browserCaps 要素は、新しいブラウザとその機能を指定するために、必要に応じて更新できます。

sk9az15a.alert_note(ja-jp,VS.90).gifメモ :

Web.config ファイル内で browserCaps 要素を使用してブラウザを定義する方法は、.NET Framework 2.0 では使用されませんが、サポートは継続しています。この要素内のデータは、マシン レベルの machine-level %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers フォルダおよびアプリケーション レベルのすべての App_Browser フォルダに配置されているブラウザ定義ファイル (.browser) の情報とマージされます。詳細については、「ブラウザ定義ファイルのスキーマ (browsers 要素)」を参照してください。

configuration 要素 (全般設定スキーマ)
  system.web 要素 (ASP.NET 設定スキーマ)
    browserCaps 要素 (ASP.NET 設定スキーマ)

<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>
 <system.web>
   <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>
 </system.web>
</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

参照

処理手順

方法 : ASP.NET Web ページでブラウザの種類を検出する

方法 : Location の設定を使用して特定のディレクトリを構成する

方法 : ASP.NET 構成設定をロックする

概念

ASP.NET Web サーバー コントロールとブラウザの機能

ASP.NET 構成ファイルの階層と継承

ASP.NET 構成の保護

ASP.NET の構成のシナリオ

参照

system.web 要素 (ASP.NET 設定スキーマ)

configuration 要素 (全般設定スキーマ)

browserCaps の filter 要素 (ASP.NET 設定スキーマ)

browserCaps の result 要素 (ASP.NET 設定スキーマ)

browserCaps の use 要素 (ASP.NET 設定スキーマ)

ブラウザ定義ファイルのスキーマ (browsers 要素)

System.Configuration

System.Web.Configuration

HttpCapabilitiesSectionHandler

Browsers

その他の技術情報

全般構成設定 (ASP.NET)

ASP.NET 構成設定

ASP.NET Web サイトの管理

ASP.NET 構成 API