メインコンテンツへジャンプ
ASP.NETのTips満載!

チュートリアル

文責:山田祥寛最終更新日:2006年05月08日

構成ファイルでパラメータを設定しよう

キャラクターイラスト

提供ツールの多くは(すべてではありません)、利用するにあたって、構成(設定)ファイルweb.configに対して必要なパラメータを設定しておく必要があります。たとえば、データベースを利用するツールであれば、データベース名やユーザID/パスワードを設定する必要がありますし、メールを送信するツールであればSMTP(Simple Mail Transfer Protocol)サーバのアドレスを設定する必要があります。

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の記法に関しては、以下の記事に目を通しておくことをお勧めします。

それでは、具体的に個々の設定について見ていくことにしましょう。

  1. データベース接続設定
  2. データベース連携ツールを利用する場合には、データベース連携に際して必要なデータベース名などを、あらかじめ自分の環境に合わせて設定しておく必要があります。

    [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属性(データプロバイダ名)を記述します。

    接続文字列などは、ご自分の環境に合わせて適宜変更してください。

  3. アプリケーション共通のパラメータ
  4. アプリケーションで共通して使用するパラメータを、以下のようにまとめて設定することが可能です。

    [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>要素の配下に記述する必要があり、必要なパラメータの数だけ並べて記述することができます。

    各ツールで設定可能(必要)なパラメータについては、個別のツール紹介ページを参照してください。

  5. ユーティリティの追加
  6. ユーティリティ型ツールについては、以下の記事を参照してください。

    ダウンロード・ファイルに必要な設定があらかじめ含まれていますので、皆さんが殊更に編集する必要はありません。提供されている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>
  7. アプリケーション管理機能の追加
  8. サイト管理型ツールについては、以下の記事を参照してください。

    [2]同様、ダウンロード・ファイルに必要な設定があらかじめ含まれていますので、皆さんが殊更に編集する必要はありません。提供されているweb.configをそのまま配置してください。

    もしも同一のフォルダに既にweb.configが存在する場合にも、[2]と同様、必要な要素だけを既存のweb.configにコピーすればOKです。ただし、サイト管理型ツールでは、<httpHandlers>要素が<httpModules>要素になりますので、注意してください。

web.configの適用範囲を理解しよう

web.configの設定は、web.configを配置したフォルダとその配下のサブフォルダに適用されます。

ただし、配下のサブフォルダに別のweb.configが含まれており、かつ、同一のパラメータが設定された場合には、親フォルダで設定された内容は上書きされてしまいますので、注意してください。

これはweb.configを扱う上で、とても重要なルールですので、かならず覚えておいてください。

コンテンツの終わりです。