次の方法で共有


ASP.NET 構成の概要

更新 : 2007 年 11 月

ASP.NET 構成システムの機能を使用することにより、サーバー全体のすべての ASP.NET アプリケーション、単一の ASP.NET アプリケーション、個別のページまたはアプリケーション サブディレクトリを構成できます。認証モード、ページ キャッシュ、コンパイラ オプション、カスタム エラー、デバッグおよびトレース オプションなどの機能を構成できます。

以降のセクションでは、ASP.NET 構成システムの機能について説明します。

.NET Framework クライアント アプリケーションの構成については、「アプリケーションの設定」を参照してください。

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

ASP.NET 構成システムの機能は、ASP.NET リソースにのみ適用されます。たとえば、静的なファイルまたは ASP ファイル (従来のファイル) が ASP.NET ファイル名拡張子に対応付けられていない限り、ASP.NET ファイルへのアクセスのみがフォーム認証により制限されます。ASP.NET 以外のリソースを構成するには、インターネット インフォメーション サービス (IIS : Internet Information Services) の構成機能を使用します。詳細については、「Working with the IIS Metabase」および「IIS Metabase Property Reference」を参照してください。

構成ファイル

ASP.NET 構成データは、それぞれが Web.config という名前の XML テキスト ファイルに保存されます。Web.config ファイルは、ASP.NET アプリケーションの複数のディレクトリに含まれることがあります。これらのファイルを使用することにより、アプリケーションをサーバーに配置する前後、または配置中に構成データを容易に編集できます。標準のテキスト エディタ、ASP.NET MMC スナップイン、Web サイト管理ツール、または ASP.NET 構成 API を使用することにより、ASP.NET 構成ファイルを作成および編集できます。

ASP.NET 構成ファイルにより、アプリケーション構成設定とアプリケーション コードを分離できます。コードと構成データを分離することにより、アプリケーションと設定の関連付け、アプリケーションの配置後の必要に応じた設定の変更、構成スキーマの拡張が容易になります。

ASP.NET 構成ファイルにおけるデータの編成方法の詳細については、「ASP.NET 構成ファイル」を参照してください。使用可能な構成設定については、「ASP.NET 構成設定」を参照してください。

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

各 Web.config ファイルは、ファイルが含まれるディレクトリと、その下位にあるすべての子ディレクトリの構成設定に適用されます。オプションで、子ディレクトリの設定によって親ディレクトリで指定された設定をオーバーライドまたは変更できます。location 要素でパスを指定することにより、オプションで、Web.config ファイルの構成設定を個々のファイルまたはサブディレクトリに適用できます。

ASP.NET 構成階層のルートは systemroot\Microsoft.NET\Framework\versionNumber\CONFIG\Web.config ファイルです。特定のバージョンの .NET Framework を実行するすべての ASP.NET アプリケーションに適用される設定が含まれます。各 ASP.NET アプリケーションはルートの Web.config ファイルから既定の構成設定を継承するので、既定の設定をオーバーライドする設定についてのみ Web.config ファイルを作成する必要があります。

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

ルートの Web.config ファイルは、同じディレクトリにある Machine.config ファイルから一部の基本構成設定を継承します。これらの設定の一部は、Web.config ファイルでオーバーライドできません。詳細については、「ASP.NET 構成ファイルの階層と継承」を参照してください。

実行時には、ASP.NET は受信する各 URL 要求の構成設定に固有なコレクションを階層的に計算するために Web.config ファイルを使用します。これらの設定は 1 回のみ計算され、サーバー上にキャッシュされます。ASP.NET は、構成ファイルへの変更をすべて検出したうえで、影響を受けるアプリケーションにその変更を自動的に適用します。多くの場合、アプリケーションは再起動されます。階層的に編成された各構成設定は、階層内のいずれかの構成ファイルが変更されると、自動的に再計算され、再キャッシュされます。processModel セクションを変更しない限り、変更を適用するために IIS サーバーを再起動する必要はありません。

ASP.NET 構成階層の機能の詳細については、「ASP.NET 構成ファイルの階層と継承」および「ASP.NET の構成のシナリオ」を参照してください。

構成ファイルの直接編集

テキスト エディタまたは XML エディタを使用して構成ファイルを直接編集できます。正しい構文については、「ASP.NET 構成設定」および「全般構成設定 (ASP.NET)」の構成セクションで参照トピックを参照してください。詳細については、「ASP.NET 構成ファイルの編集」を参照してください。

ASP.NET 3.5 Web.config ファイルのその他の構成要素

.NET Framework Version 3.5 を対象とする ASP.NET アプリケーションの Web.config ファイルには、それ以前のバージョンの Web.config ファイルにはない構成要素があります。この拡張された Web.config ファイルは、既存の Web サイトを開き、.NET Framework Version 3.5 を対象とする Web サイトにアップグレードしたときにも作成されます。この場合、アプリケーションの Web.config ファイルが更新され、構成要素が追加されます。

次の表に、新しい構成要素と、以前のバージョンの .NET Framework から変更された構成要素を示します。

構成要素

Version 3.5 での変更点

system.codedom

(新しいセクション) CodeDOM (Code Document Object Model) でソース コードを実行時にコンパイルする方法を指定します。

configSections

(新しいセクション) クライアント スクリプトから Web ページを呼び出す方法を定義するために ASP.NET AJAX で使用される system.web.extensions セクションを定義します。詳細については、「ASP.NET AJAX での Web サービス」を参照してください。

assemblies

(compilation 要素の新しいセクション) ASP.NET ページのコンパイル時に参照されるアセンブリのコレクションを指定します。ASP.NET Version 3.5 で新しくサポートされたアセンブリは、このセクションに含まれます。

namespaces

(更新されたセクション) 既定でインポートされる名前空間を指定します。Linq、Linq、および Generic の各名前空間が追加されました。

controls

(更新されたセクション) コントロールが含まれるアセンブリを登録し、コントロールを参照するためのプレフィックスを提供します。これは、ASP.NET Web ページのディレクティブ ページ ディレクティブで個々のページのコントロールを登録する方法と似ています。既定では、このセクションはコントロールを Extensions アセンブリに登録します。これらには、ListView コントロール、AJAX 関連コントロールなどがあります。

system.webServer

このセクションは、httpHandlers セクションと httpModules セクションで追加された AJAX 関連 HTTP ハンドラおよびモジュールを置き換えます。ここでは、ハンドラとモジュールを、統合モードで動作する IIS 7.0 で使用できるようにします。

assemblyBinding

(更新されたセクション) 以前のバージョンの ASP.NET AJAX フレームワークではなく ASP.NET Version 3.5 の一部である ASP.NET AJAX フレームワークを使用することをランタイムに指示します。

構成ツール

ASP.NET 構成システムでは、エラー検出機能を搭載するツールなどが提供されており、これらのツールを使用することでテキスト エディタよりも容易にアプリケーションを構成できます。

ASP.NET MMC スナップイン

ASP.NET 用の Microsoft 管理コンソール (MMC: Microsoft Management Console) スナップ インは、ローカルまたはリモートの Web サーバー上のすべてのレベルにおける ASP.NET 構成設定を容易に行うことができるようにします。ASP.NET MMC スナップ インは ASP.NET 構成 API を使用しますが、グラフィカル ユーザー インターフェイス (GUI : Graphical User Interface) を提供することにより構成設定の編集プロセスを簡素化しています。さらにこのツールは、Web アプリケーションにより設定を継承できるかどうかを制御する ASP.NET 構成 API 機能と、構成階層のレベル間の依存関係を管理する ASP.NET 構成 API 機能をサポートします。

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

ASP.NET MMC スナップ インを使用するには、管理者特権を持つアカウントでコンピュータにログオンする必要があります。

ASP.NET MMC スナップインは、仮想ディレクトリのプロパティ シートの [ASP.NET] タブとして表示されます。

詳細については、「ASP.NET 用 MMC スナップイン」を参照してください。

Web サイト管理ツール

Web サイト管理ツールを使用すると、Web サイトの管理者特権を持つすべてのユーザーがその Web サイトの構成設定を管理できます。Web サイト管理ツールは、個別の Web サイトで最も一般的に使用される、構成設定用のわかりやすいグラフィカルな編集ツールとしてデザインされています。このツールはブラウザベースのインターフェイスを使用するので、Web サイト設定をリモートで変更できます。これは、ホストされた Web サイトなど、実行用の Web サーバーに既に配置されたサイトの管理に役立ちます。

Web サイト管理ツールは、いくつかの点で ASP.NET MMC スナップインとは異なります。たとえば、ASP.NET MMC スナップインは、単一の Web サイトの構成設定ではなく、Web サーバー上の構成ファイルの全階層へのアクセスを提供するので、管理者レベルの構成作業に最適です。また、ASP.NET MMC スナップインを使用するには管理者であることが必要であるのに対し、Web サイト管理ツールでは個別の Web サイト所有者のみが管理者特権を持つサイトのルート ディレクトリにある Web.config ファイルを構成できます。最後に、ASP.NET MMC スナップインを使用して IIS をリモート管理することはできませんが、Web サイト管理ツールのブラウザ インターフェイスでは IIS 6.0 以降のバージョンでリモートでの構成が可能です。

Web サイト管理ツールには、関連する構成設定を次のタブにグループ化するタブ付きのインターフェイスが含まれています。

  • [セキュリティ] タブ。Web アプリケーション リソースの保護とユーザーのアカウントおよびロールの管理に役立つ設定が含まれます。

  • [プロファイル] タブ。Web サイトで閲覧者情報を収集する方法を管理する設定が含まれます。

  • [アプリケーション] タブ。ASP.NET アプリケーションに影響する構成要素を管理する設定が含まれます。

  • [プロバイダ] タブ。アプリケーション プロバイダの追加、編集、削除、テスト、または割り当てを行う設定が含まれます。

Web サイト管理ツールは、.NET Framework Version 2.0 以降と共に自動的にインストールされます。このツールの機能については、「ASP.NET Web サイト管理ツール」を参照してください。

コマンド ライン ツール

.NET Framework には、特定の構成処理を実行するコマンド ライン ツールが含まれています。たとえば Aspnet_regiis.exe ツールでは、.NET Framework のどのバージョンを ASP.NET アプリケーションに適用するかを指定できます。詳細については、「.NET Framework ツール」を参照してください。

ASP.NET 構成 API

ASP.NET 構成システムは、XML 構成ファイルを直接編集することなく、プログラムから ASP.NET アプリケーションを構成するための完全なマネージ インターフェイスを提供しています。さらに、ASP.NET 構成 API は次のことを行います。

  • 構成階層の全レベルのデータを統合されたビューで提供することにより、管理タスクを簡素化します。

  • 構成の作成、単一のスクリプトによる複数のコンピュータの構成など、配置タスクをサポートします。

  • ASP.NET アプリケーション、コンソール アプリケーションとスクリプト、Web ベースの管理ツール、および MMC スナップインを構築する開発者に単一のプログラミング インターフェイスを提供します。

  • 開発者および管理者による無効な構成設定を防止します。

  • 構成スキーマの拡張を可能にします。新しい構成パラメータを定義したり、それらの構成パラメータを処理するための構成セクション ハンドラを作成したりできます。

  • 現在実行中のアプリケーションから構成情報を取得する静的なメソッドと、個別のアプリケーションから構成情報を取得する非静的なメソッドを提供します。静的なメソッドを使用することでアプリケーションの実行速度を向上させます。ただし、静的なメソッドを使用できるのは、構成データを取得するアプリケーション内のみです。

詳細については、「ASP.NET 構成 API」を参照してください。

セキュリティの構成

ASP.NET 構成システムは、承認されていないユーザーのアクセスから構成ファイルを保護します。ASP.NET は、Machine.config ファイルまたは Web.config ファイルへのアクセスを要求するブラウザに対して、アクセスを拒否するように IIS を構成します。構成ファイルを直接要求したブラウザには、HTTP アクセス エラー 403 (禁止) が返されます。

さらに、ASP.NET アプリケーションの構成ファイルでは、他のアプリケーションの構成ファイルに対する読み取りアクセス許可を持つアカウントで完全な信頼が与えられて構成アプリケーションが実行されている場合を除いて、他の ASP.NET アプリケーションの構成設定へのアクセスが阻止されます。

詳細については、「ASP.NET 構成の保護」および「保護された構成を使用した構成情報の暗号化」を参照してください。

参照

処理手順

チュートリアル : MMC を使用した IIS 6.0 での ASP.NET アプリケーションの構成

チュートリアル : IIS 7.0 での ASP.NET アプリケーションの構成

概念

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

ASP.NET 構成の保護

その他の技術情報

ASP.NET 構成 API

ASP.NET 構成ファイル

ASP.NET 用 MMC スナップイン

ASP.NET Web サイト管理ツール

ASP.NET 構成設定

全般構成設定 (ASP.NET)

保護された構成を使用した構成情報の暗号化

ASP.NET と IIS の構成