ASP.NET アプリケーションでアプリケーションおよびディレクトリに固有の構成設定を行う方法


概要


この資料では、ASP.NET を使用して、アプリケーションおよびディレクトリに固有の構成設定を行う方法について手順を追って説明します。 ASP.NET アプリケーションのルート ディレクトリには、Web.config ファイルが存在します。 Web.config ファイルでは、アプリケーションに固有の構成情報を指定します。 各ディレクトリをベースにして構成設定を行うこともできます。 これらの設定を行うには、次の 2 つの方法があります。
  • 複数の Web.config ファイルをアプリケーションのディレクトリに展開します。 上位レベルの Web.config ファイルまたはシステム マシン構成 (Machine.config) ファイルの設定を上書きする設定で、ASP.NET アプリケーション ディレクトリに Web.config ファイルを追加します。
  • ディレクトリまたはファイルに固有の設定を、アプリケーションの Web.config ファイルに直接追加します。 この方法では、単一の Web.config ファイルを使用して、ディレクトリに固有の構成設定を有効にします。 Machine.config ファイルでこの方法を使用して、構成設定を ASP.NET Web アプリケーションに強制的に適用し、Web.config ファイルが Machine.config の設定を上書きしないようにすることもできます。
先頭に戻る

Machine.config ファイルで location 要素を使用する


Web アプリケーションまたはディレクトリに適用する設定を行うために、システムの Machine.config ファイルの <configuration> 要素に <location> 要素を追加することができます。 この方法は、構成設定を 1 つのファイルに集約する場合に便利です。 また、Web ホスト環境で個別の Web アプリケーションに対して特定の構成設定を強制的に適用する場合にも使用できます。

<location> 要素には、path 属性と allowOverride 属性の 2 つの属性が含まれています。 path 属性には、構成設定の適用先となるサイトまたは仮想ディレクトリを定義します。 <location> 要素の設定を既定の Web サイトに適用するには、path 属性に "Default Web Site" を設定します。 既定の Web サイト内の MyApp という名前のアプリケーションに適用するには、path 属性に "Default Web Site/MyApp" を設定します。


allowOverride 属性が false の場合、Web アプリケーションのディレクトリの Web.config ファイルは、<location> 要素に指定された設定を上書きできません。 これは、Web アプリケーションの構成方法についてアプリケーション開発者に制約を設ける必要がある場合に便利です。 次の例は、Machine.config ファイルの一部分を示しています。この Machine.config ファイルでは、既定の Web サイトの MyApp アプリケーションにアクセスするときに認証が要求されます。また、このファイルの設定内容は、Web.config ファイルの設定によって上書きされません。
<configuration>
<location path=”Default Web Site/MyApp” allowOverride=”false”>
<system.web>
<authorization>
<allow users=”?” />
</authorization>
</system.web>
</location>
</configuration>


先頭に戻る

Web.config ファイルで location 要素を使用する


特定のアプリケーションまたはディレクトリに適用される設定にするには、アプリケーションの Web.config ファイルの <configuration> 要素に <location> 要素を追加します。 通常 <location> 要素には、Web.config ファイルで使用するのと同じ <system.web> 要素およびその他の構成要素が含まれます。 <location> 要素の path 属性には、location で構成する設定項目の適用先となる仮想ディレクトリまたはファイル名を指定します。 次に示すのは、フォーラムの仮想ディレクトリでカスタム エラー メッセージを指定する、アプリケーションの Web.config ファイルの一部分です。
<configuration>
<location path=”forum” >
<system.web>
<customErrors mode="RemoteOnly” defaultRedirect="forum-error.aspx">
<error statusCode="404" redirect="forum-file-not-found.aspx" />
</customErrors>
</system.web>
</location>
</configuration>


先頭に戻る

関連情報


関連情報を参照するには、次のマイクロソフト サポート技術情報番号をクリックしてください。

818016 .NET Framework をベースに構築されたアプリケーションの展開

詳細については、次の Microsoft Developer Network (MSDN) Web サイトを参照してください。

ASP.NET の構成
http://msdn2.microsoft.com/ja-jp/library/aa719558(VS.71).aspx

ASP.NET 構成ファイルの形式
http://msdn2.microsoft.com/ja-jp/library/ackhksh7(vs.71).aspx

アプリケーションの配置
http://msdn2.microsoft.com/ja-jp/library/ybshs20f(vs.71).aspx先頭に戻る