チュートリアル
文責:山田祥寛最終更新日:2006年05月08日
構成ファイルでパラメータを設定しよう
web.configってなんだろう?
web.configとは、ASP.NETで規定されている設定ファイル(または「構成ファイル」とも言います)のことです。共通パラメータやアクセス制御(認証とユーザ管理)、エラーページ、文字コードの設定などなど、アプリケーション共通で利用可能な、さまざまなパラメータを設定できます。が、もちろん、ツールを利用するためには、これらパラメータのすべてを理解する必要はありません。ここでは、web.configで設定可能なパラメータの中から、特に以下の3点について紹介します。
web.configを編集しよう
web.configは、XML(eXtensible Markup Language)形式のファイルです。以下に、web.configの最低限の骨格を示しておきましょう(<!--~-->で囲まれた部分はコメントですので、省略しても構いません)。
[web.config]
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appSettings>
<!--共通パラメータの設定-->
</appSettings>
<system.web>
<!--アプリケーション固有の設定-->
</system.web>
</configuration>
XML、というと、「また、なにやら難しいものが登場した」と及び腰になってしまう方もいるかもしれません。しかし、なんら恐れることはありません。
上の例をご覧になっても分かるように、XMLはHTMLにもよく似たマークアップ型の言語で、HTMLを理解している方ならば、それほど戸惑うことなく記述できるはずです。XMLの記法に関しては、以下の記事に目を通しておくことをお勧めします。
それでは、具体的に個々の設定について見ていくことにしましょう。
- データベース接続設定
データベース連携ツールを利用する場合には、データベース連携に際して必要なデータベース名などを、あらかじめ自分の環境に合わせて設定しておく必要があります。
[web.config]
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<connectionStrings>
<add name="ConnectString"
connectionString="Data Source=.\SQLEXPRESS;
AttachDbFilename=|DataDirectory|\Sample.mdf;
Integrated Security=True;
User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
データベース接続設定を行うには、<connectionStrings>要素にname属性(接続文字列を識別するための名前)、connectionString属性(接続文字列)、providerName属性(データプロバイダ名)を記述します。
接続文字列などは、ご自分の環境に合わせて適宜変更してください。
- アプリケーション共通のパラメータ
アプリケーションで共通して使用するパラメータを、以下のようにまとめて設定することが可能です。
[web.config]
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appSettings>
<add key="rss_title" value="WebDeli - Spicy Tools, Delicious Sites." />
<add key="rss_description" value="ASP.NETページで利用可能な便利な部品、情報を豊富に提供" />
<add key="rss_link" value="http://www.web-deli.com/" />
<add key="rss_image" value="http://www.web-deli.com/image/logo.gif" />
</appSettings>
<system.web>
</system.web>
</configuration>
パラメータは、<add>要素にkey属性(パラメータ名)、value属性(設定値)のセットで記述できます。<add>要素は、かならず<appSettings>要素の配下に記述する必要があり、必要なパラメータの数だけ並べて記述することができます。
各ツールで設定可能(必要)なパラメータについては、個別のツール紹介ページを参照してください。
- ユーティリティの追加
ユーティリティ型ツールについては、以下の記事を参照してください。
ダウンロード・ファイルに必要な設定があらかじめ含まれていますので、皆さんが殊更に編集する必要はありません。提供されているweb.configをそのまま配置してください。
ただし、同一のフォルダに別のweb.configが既に存在する場合は、既存のweb.configに必要な設定をコピーする必要があります。その場合、<httpHandlers>要素(太字)をそのまま<system.web>要素の配下にコピーしてください。
[web.config]
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appSettings>
</appSettings>
<system.web>
<httpHandlers>
<add verb="GET" path="*.axd"
type="To.Msn.Wings.DatabaseDownloader,
DatabaseDownloader" />
</httpHandlers>
</system.web>
</configuration>
もしも既存のweb.configに<httpHandlers>要素が記述されている場合には、中身の<add>要素だけを<httpHandlers>要素の配下に、既存の<add>要素と並列になるように、コピーしてください。たとえば、以下のようにです。
[web.config(抜粋)]
<httpHandlers>
<add verb="POST" path="sendmail.axd"
type="Wings.MailTransfer,MailTransfer" />
<add verb="GET" path="*.axd"
type="To.Msn.Wings.DatabaseDownloader,
DatabaseDownloader" />
</httpHandlers>
- アプリケーション管理機能の追加
サイト管理型ツールについては、以下の記事を参照してください。
[2]同様、ダウンロード・ファイルに必要な設定があらかじめ含まれていますので、皆さんが殊更に編集する必要はありません。提供されているweb.configをそのまま配置してください。
もしも同一のフォルダに既にweb.configが存在する場合にも、[2]と同様、必要な要素だけを既存のweb.configにコピーすればOKです。ただし、サイト管理型ツールでは、<httpHandlers>要素が<httpModules>要素になりますので、注意してください。
web.configの適用範囲を理解しよう
web.configの設定は、web.configを配置したフォルダとその配下のサブフォルダに適用されます。
ただし、配下のサブフォルダに別のweb.configが含まれており、かつ、同一のパラメータが設定された場合には、親フォルダで設定された内容は上書きされてしまいますので、注意してください。
これはweb.configを扱う上で、とても重要なルールですので、かならず覚えておいてください。