方法 : Web.config ファイルを作成する
更新 : 2007 年 11 月
ASP.NET では、XML テキスト ファイルの階層構造を使用します。XML テキスト ファイルには Web.config という名前が付けられ、Web サイトの動作を制御する設定が格納されます。ASP.NET 構成システムの機能を使用すると、サーバー全体、ASP.NET アプリケーション、または個別のページを構成できます。このトピックでは、Visual Web Developer で Web.config ファイルを作成する方法について説明します。
Web.config ファイルを作成するには
ソリューション エクスプローラ の [最新の情報に更新] アイコンをクリックして、使用するアプリケーションの Web.config ファイルが存在しないことを確認します。
既に Web サイト管理ツールなどのアプリケーション構成方法を使用している場合は、Web.config ファイルが自動的に作成されている可能性があります。[最新の情報に更新] をクリックすると、ファイル リストが更新されます。
ソリューション エクスプローラで Web サイトの名前を右クリックし、[新しい項目の追加] をクリックします。
[テンプレート] ウィンドウの [Web 構成ファイル] をクリックします。
[名前] ボックス内のファイル名は Web.config である必要があります。別のファイル名も指定できますが、既定はこのファイル名です。.config ファイル拡張子は、ダウンロードされないように ASP.NET によって保護されています。
[追加] をクリックしてファイルを作成し、編集用に開きます。
このファイルには、このトピックの「使用例」のセクションで説明するコードといくつかの既定値が格納されています。アプリケーションは、%SystemRoot%\Microsoft.NET\Framework\<version>\CONFIG ディレクトリ内の Machine.config ファイルと Web.config ファイルからすべての構成設定を継承します。ただし、ここではこれらの既定の設定については説明しません。アプリケーション レベルまたはディレクトリ レベルの Web.config ファイルを作成する必要があるのは、継承された既定の設定をオーバーライドする場合、または httpHandlers 要素 (ASP.NET 設定スキーマ) のようなコレクション要素を追加する場合だけです。
現在のアプリケーションのすべての構成設定を表示するには、「方法 : 継承された構成設定とローカルな構成設定をプログラムから表示する」で説明するコードを実行します。また、%SystemRoot%\Microsoft.NET\Framework\<version>\CONFIG ディレクトリ内の Machine.config.comments ファイルまたは Web.config.comments ファイル (同様に便利なコメントを格納) を表示することもできますが、これら 2 つのファイルには、「方法 : 継承された構成設定とローカルな構成設定をプログラムから表示する」で説明する実行時設定がすべて含まれるわけではありません。
Web.config ファイルを変更した場合は、そのファイルを保存します。
Web.config ファイルを保存すると、アプリケーションが再起動されます。または、各セクション要素の configSource 属性を使用して、変更されてもアプリケーションを再起動しない二次構成ファイルを指すこともできます。詳細については、「セクションの要素によって継承される全般属性」の「configSource」を参照してください。
IntelliSense を使用して構成設定を編集するには
Visual Web Developer で Web.config ファイルを開きます。
編集ウィンドウで行の <system.web> </system.web> タグ内だけにカーソルを置きます。他のタグにはカーソルを置かないでください。
不等号 (<) を入力して新しい要素を開始します。
このカーソル位置に追加できる有効な要素を含んだドロップダウン リストが表示されます。または、Ctrl + J キーを押して、不等号 (<) を入力せずにこのドロップダウン リストを表示することもできます。
[anonymousIdentification] をクリックします。
anonymousIdentification 要素 (ASP.NET 設定スキーマ) 要素が Web.config ファイル内に配置され、終了します。要素が終了タグで終了する場合、設定可能な子要素があります。次の anonymousIdentification 要素のように要素が終了すると、設定可能な子要素はありません。
<anonymousIdentification />
<anonymousIdentification /> タグ内にカーソルを置き、Space キーを押します。
anonymousIdentification 要素に追加できる有効な属性を含んだドロップダウン リストが表示されます。また、Ctrl + J キーを押すと、Space キーを押さずにこのドロップダウン リストを表示できます。
[enabled] をクリックします。
enabled 属性が Web.config ファイル内に配置されます。この属性はブール属性なので、ドロップダウン リストには true という値と false という値が表示されます。
[False] をクリックします。これはシステムの既定値です。
IntelliSense システムによって、カーソル位置で使用可能な要素と属性が提示されます。特殊な属性は提示されないことがあります。たとえば、siteMap 要素 (ASP.NET 設定スキーマ) 要素などに対して providers 要素を設定する場合、追加するプロバイダの種類に応じてさまざまな属性を使用できます。これらの属性は type 属性の値によって異なるので、IntelliSense ではこれらの属性が表示されません。
enabled 属性の値を無効な値である "falsex" に変更します。
IntelliSense システムによって有効性の検査が実行され、無効なテキストの下に波線が表示されます。
使用例
Visual Web Developer で作成された Web.config ファイルの初期内容を表すコード例を次に示します。compilation 要素と authentication 要素には、既定値が設定されています。ASP.NET デバッグを有効にするには、compilation 要素の debug 属性を true に変更するだけでかまいません。system.web 要素内に表示できるすべての要素については、「ASP.NET 構成設定」を参照してください。
<?xml version="1.0"?>
<!--
Note: As an alternative to hand editing this file you can use the
Web Site Administration Tool to configure settings for your application. Use
the Web site->Asp.Net Configuration option in Visual Studio.
A full list of settings and comments can be found in
machine.config.comments usually located in
\Windows\Microsoft.Net\Framework\v2.x\Config
-->
<configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings/>
<system.web>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
-->
<compilation debug="false"/>
<!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
-->
<authentication mode="Windows"/>
<!--
The <customErrors> section enables configuration
of what to do if/when an unhandled error occurs
during the execution of a request. Specifically,
it enables developers to configure html error pages
to be displayed in place of a error stack trace.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/>
</customErrors>
-->
</system.web>
</configuration>
セキュリティ
アプリケーションの構成ファイル内に機密情報を格納する場合は、保護された構成を使用して機密情報を暗号化する必要があります。この問題を含め、ファイル設定のセキュリティ問題の詳細については、「ASP.NET 構成の保護」を参照してください。