NOBlog 〜バカの一念〜

基本的にはNOB(ノブ)の日記。
スキークロス国際レース出場を目標に日々努力中。

  November/2007  
S M T W T F S
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
blog内検索

[ASP.NET]構成ファイルを活用する

2005-01-19
構成ファイル(Web.config)には多くのパラメータが存在し、その設定によりアプリケーションを制御しています。
デフォルトの構成で大抵の事は制御できるのですが、環境特有の情報(例えば、DB接続文字列、SMTPサーバー名など)は、どのように管理したら良いでしょうか。
構成ファイルの簡単な活用方法は次の通りです。
アプリケーション全体で共有する情報の管理は、Global.asaxの静的変数やApplication_OnStartイベントを利用する方法もありますが、直接プログラムをいじる事になりますし、アプリケーションをビルドする必要も出てきてしまうのであまり好ましくはありません。
最適と思われる対処としては、構成ファイルにappSettings要素を記述するという方法があります。 構成ファイルにはappSettingsという定義済みの構成セクションが用意されており、ここには任意の情報を定義することができます。
情報は、キーと値のペアで定義し、System.Configuration.ConfigurationSettingsクラスを利用してアクセスします。
定義方法とアクセス方法は次の通りです。

appSettings要素をconfiguration要素直下に追加します。
appSettings要素にはadd要素を追加し、任意の情報をキーと値の組み合わせで定義します。

  本当はappSettingsとaddです。Blogの仕様でaまたはpで始まるタグは送信できないみたいです。Settings要素をappSettings、ddをaddと読み替えてください。

  <Settings>
    <dd key="ConnectionString" value="Server=ServerName;Database=DBName;uid=UID" />
  </appSettings>

アプリケーションからこの値を取得するには、次のようにします。

'キーを指定して値を取得 Dim constring As String = System.Configuration.ConfigurationSettings.AppSettings("ConnectionString")

構成ファイルへは、アプリケーション全体からアクセスすることが可能ですし、このファイル内の値を書き換えたからと言って、アプリケーションをコンパイルしなおす必要もありません。
構成ファイルはアプリケーションのルートディレクトリだけでなく、サブディレクトリにも配置できます。
サブディレクトリに配置された構成ファイルはルートディレクトリの構成ファイルの設定内容を継承しますが、設定内容をオーバーライドする事ができるので、あるディレクトリだけ設定を替えたい項目があるという場合にも利用可能です。
構成ファイルについて詳しくは、MSDN「ASP.NETの構成」を参照すると良いでしょう。

※注
当ブログのTipsは、@IT等の情報サイトの内容を参考にして構成された記事
もあります。Tipsの内容に著作権等権利を侵害する内容があった場合には、
告知して下さい。早急に訂正または削除にて対応したいと思います。

この記事へのトラックバックURL

この記事へのコメント
Copyright(C) PwBlog. All rights reserved.