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

[このドキュメントはプレビューのみを目的としており、以降のリリースで変更される可能性があります。プレースホルダーとして空白のトピックが含まれています。]

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

注意

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

<browserCaps>
   <result />
   <use />
   [browser capability property assignments]
   <filter>...</filter>
</browserCaps>

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性

Description

userAgentCacheKeyLength

省略可能な String 属性です。

内部キャッシュのキャッシュ ブラウザー機能オブジェクトのキーとして使用するブラウザー識別文字列の長さを指定します。 ブラウザー機能オブジェクトの詳細については、「ブラウザー定義ファイルのスキーマ (browsers 要素)」を参照してください。

この属性は .NET Framework Version 2.0 で新たに追加されました。

既定値は、"64" です。

子要素

要素

Description

filter

省略可能な要素です。

個々の設定を特定のブラウザー定義に適用できる検索文字列の一覧を指定します。

result

browserCaps セクションの解析結果を保持するために使用する、HttpCapabilitiesBase から派生したクラスを指定します。 機能は、ブラウザーごとにキーと値の文字列のペアとして格納されます。

この要素は、.NET Framework Version 2.0 でも適用されます。

use

filter 要素および case 要素に格納されているブラウザー機能情報の解析に使用する HTTP 要求文字列を指定します。

親要素

要素

Description

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

参照

処理手順

How to: Detect Browser Types in ASP.NET Web Pages

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

Reference

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 Server Controls and Browser Capabilities

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

その他の技術情報

全般構成設定 (ASP.NET)

ASP.NET 構成設定

Configuring ASP.NET Applications

ASP.NET Configuration API