configSections の section 要素 (全般設定スキーマ)

更新 : 2007 年 11 月

構成セクション ハンドラと構成要素の間の関連付けを定義します。

configuration 要素 (全般設定スキーマ)
  configSections 要素 (全般設定スキーマ)
    configSections の section 要素 (全般設定スキーマ)
      configuration 要素 (全般設定スキーマ)
        configSections 要素 (全般設定スキーマ)
          configSections の sectionGroup 要素 (全般設定スキーマ)
            configSections の section 要素 (全般設定スキーマ)

<section 
   name="section name"
   type="configuration section handler class, assembly file name, version, culture, public key token"
   allowDefinition= "Everywhere|MachineOnly|MachineToApplication|MachineToWebRoot" 
   allowLocation="True|False" 
   restartOnExternalChanges="True|False" 
/>

属性と要素

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

属性

属性

説明

allowDefinition

省略可能な Enum 属性です。

ASP.NET アプリケーションにのみ適用されます。

セクションを使用できる構成ファイルを指定します。

この属性の値は次のいずれかで (ConfigurationAllowDefinition 列挙体で定義)、後の値ほどスコープが狭くなります。

値説明
Everywhere 任意の構成ファイルまたはディレクトリでセクションを構成できるようにします。次に例を示します。
  • Machine.config。

  • ルート Web.config。

  • アプリケーションの Web.config。

  • 仮想ディレクトリ。

  • アプリケーションの物理サブディレクトリ。

allowDefinition 属性の指定がない場合、Everywhere が指定されたと想定されます。これは、既定の設定です。
MachineToApplication 次のいずれかのファイルで構成できるようにします。
  • Machine.config。

  • ルート Web.config。

  • アプリケーションの Web.config。

仮想ディレクトリやアプリケーションの物理サブディレクトリ内にある Web.config ファイルは除外されます。
MachineToWebRoot 次のいずれかのファイルで構成できるようにします。
  • Machine.config。

  • ルート Web.config。

Machine.config ファイルとルート Web.config ファイルは、どちらも %SystemRoot%\Microsoft.NET\Framework\versionNumber\CONFIG にあります。
MachineOnly Machine.config ファイル (%SystemRoot%\Microsoft.NET\Framework\versionNumber\CONFIG にあります) だけでセクションを構成できるようにします。

allowExeDefinition

省略可能な Enum 属性です。

.NET Framework クライアント アプリケーションにのみ適用されます。

セクションを使用できる構成ファイルを指定します。

この属性の値は次のいずれかで (ConfigurationAllowExeDefinition 列挙体で定義)、後の値ほどスコープが狭くなります。

値説明
MachineToApplication 次のいずれかのファイルで構成できるようにします。
  • Machine.config。

  • アプリケーション構成。

MachineToRoamingUser
MachineToLocalUser
MachineOnly Machine.config ファイル (%SystemRoot%\Microsoft.NET\Framework\versionNumber\CONFIG にあります) だけでセクションを構成できるようにします。

allowLocation

省略可能な Boolean 型の属性です。

ASP.NET アプリケーションにのみ適用されます。

セクションを location 要素の中で使用できるかどうかを指定します。

既定値は True です。

name

必須の String 属性です。

type 属性に指定した構成セクション ハンドラに関連付ける構成セクションまたは構成要素の名前を指定します。この名前は、構成ファイルのセクション設定領域に要素の名前として示されます。

restartOnExternalChanges

省略可能な Boolean 型の属性です。

ASP.NET アプリケーションには適用されません。

セクションの構成データが変更された場合にアプリケーションを再起動するかどうかを指定します。

type

必須の String 属性です。

name 属性に指定したセクションまたは要素の構成設定の処理を行う構成セクション ハンドラ クラスの名前を指定します。次の形式を使用します。

type="Fully qualified class name, assembly file name, version, culture, public key token"

定義はアセンブリ参照と一致する必要があります。たとえば、次の構文例のバージョン番号がアセンブリと一致しなかった場合、エラーになります。

type="MyConfigSectionHandler.MyHandler,MyCustomConfigurationHandler,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null"

アセンブリ ファイルは、それを定義している Web.config ファイルと同じアプリケーション ディレクトリに存在する必要があります。ルートの Web.config ファイルまたは Machine.config ファイルの場合、アセンブリ ファイルは %SystemRoot%\Microsoft.NET\Framework\version に存在する必要があります。

子要素

なし。

親要素

要素

説明

configuration

共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルで必要なルート要素を指定します。

configSections

構成セクションと名前空間の宣言を指定します。

sectionGroup

構成セクション ハンドラと構成セクションの間の関連付けを定義します。

解説

section 要素は、構成セクション ハンドラを構成要素または構成セクションに関連付けます。この処理が必要なのは、ASP.NET が構成ファイル内の設定の処理方法について推測を一切行わないからです。ASP.NET はこの代わりに、構成データの処理を構成セクション ハンドラにデリゲートします。各 section 要素は、構成セクションまたは構成要素と、その構成セクションまたは構成要素を処理する ConfigurationSection の派生関連クラスを示します。section 要素を sectionGroup 要素に論理的にグループ化すると、要素を整理し、名前の競合を防ぐことができます。section 要素と sectionGroup 要素は、configSections 要素に格納されます。

既定の構成

.NET Framework 構成要素の構成セクションはマシン構成ファイルで定義されますが、数が非常に多いため、ここでは紹介していません。system.web セクションの authentication 要素に対する構成セクション ハンドラを定義する Machine.config ファイルの一部を以下に示します。次に、authentication 要素に対して構成設定を定義します。

構成セクション ハンドラが構成要素に関連付けられていない場合、ASP.NET は "認識できない構成セクション element_name" というサーバー エラーを発行します。

<configuration>
    <configSections>
        <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=%ASSEMBLY_VERSION%, Culture=neutral, PublicKeyToken=%MICROSOFT_PUBLICKEY%">
            <section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
            <!-- Other system.web sections -->
        </sectionGroup>
        <!-- Other configuration sections -->
    </configSections>

    <system.web>
        <authentication mode="Windows">
            <forms name=".ASPXAUTH" 
                   loginUrl="login.aspx" defaultUrl="default.aspx" 
                   protection="All" 
                   timeout="30" 
                   path="/" 
                   requireSSL="False" 
                   slidingExpiration="True" 
                   cookieless="UseCookies" 
                   domain="" 
                   enableCrossAppRedirects="False">
                <credentials passwordFormat="SHA1" />
            </forms>
            <passport redirectUrl="internal" />
        </authentication>
        <!-- Other system.web elements -->
    </system.web>
    <!-- Other configuration settings -->
</configuration>

使用例

カスタム構成セクションを定義し、そのセクションの設定を定義する方法を、次のコード例に示します。

<configuration>

   <configSections>
      <section name="sampleSection"
               type="System.Configuration.SingleTagSectionHandler" />
   </configSections>

   <sampleSection setting1="Value1" 
                  setting2="value two" 
                  setting3="third value" />

</configuration>

要素情報

構成セクション ハンドラ

該当なし。

構成メンバ

ConfigurationSection

構成できる場所

Machine.config

ルート レベルの Web.config

アプリケーション レベルの Web.config

仮想ディレクトリ レベルまたは物理ディレクトリ レベルの Web.config

必要条件

Microsoft Internet Information Services (IIS) 5.0、5.1、または 6.0

.NET Framework Version 1.0、1.1、または 2.0

Visual Studio 2003 または Visual Studio 2005

参照

概念

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

ASP.NET 構成ファイルの編集

ASP.NET の構成のシナリオ

参照

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

configSections の sectionGroup 要素 (全般設定スキーマ)

configSections の clear 要素 (全般設定スキーマ)

configSections の remove 要素 (全般設定スキーマ)

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

その他の技術情報

全般構成設定 (ASP.NET)

ASP.NET 構成設定

ASP.NET 構成ファイル

ASP.NET Web サイトの管理

ASP.NET 構成 API