目覚めのプログラミング

プログラミングに関することを気ままにシンプルを心掛けて書いていきます

Web.configにアプリケーションで使う任意の設定値を追加する(appSettingsの設定)

Web.configでアプリケーションで使う設定値の設定方法と使い方です。

Web.configファイルとソースを修正することになります。

 

Web.config

  Web.configのappSettingsタグの中にKey・value(キーと値)の形で追加します。

  key ・・・ プログラムで呼び出すときに使う設定値の名前

  value ・・・ プログラムで取得したい実際の設定値

 

  appconfigの中であればどこに追加しても大丈夫ですが、

  同じ名前のkeyがある場合は下に記載したものが優先されます。

    →参考:Web.configでappSettingsの定義名を2つ以上同じにした場合

 

  以下の例では2つの設定値を追加しています。赤字が追加箇所です。

<configuration>
    <configsections>
     <section・・・
    </configsections>
    <connectionStrings>
     <add・・・
    </connectionStrings>
    <appSettings>
      <add key="webpages:Version" value="3.0.0.0" />
      <add key="webpages:Enabled" value="false" />
      <add key="ClientValidationEnabled" value="true" />
      <add key="UnobtrusiveJavaScriptEnabled" value="true" />
     <add key="TestPath" value="C:\inetpub\temp" />
     <add key="TestData" value="ABCDE12345" />
    </appSettings>
    <system.web>
     ・・・
    </system.web>
</configuration>

 

ソースからの読込その1 (C#)

    Web.configで設定した定義を1つずつ読み込むシンプルな例になります。

    赤字が読み込みに必要なコードです。

using System.Configuration;
・・・
public class TestConfig
{
    // TestPathキーを読込
    String path = ConfigurationManager.AppSettings["TestPath"]
    // TestDataキーを読込
    String data = ConfigurationManager.AppSettings["TestData"]
}

 

ソースからの読込その2 (C#)

    Web.configで設定したappSettingsの定義を全部取得した後、必要な定義を使う例になります。

    赤字が読み込みに必要なコードです。

using System.Configuration;
using System.Collections.Specialized;
・・・
public class TestConfig
{
    // appsettings情報を全て読込
    NameValueCollection settings = ConfigurationManager.AppSettings;
    // 読込した定義情報からTestPathキーを取得
    String path = settings["TestPath"];
    // 読込した定義情報からTestDataキーを取得
    String data = settings["TestData"];
}

 

どちらでも結果は同じ値を取得します。

path には文字列で C:\inetpub\temp がセットされます。

data には文字列で ABCDE12345 がセットされます。