web.config ファイルに辞書オブジェクトを保存するにはどうすればよいですか? 質問する

web.config ファイルに辞書オブジェクトを保存するにはどうすればよいですか? 質問する

単純なキー/値の文字列辞書を Web 構成ファイルに保存したいと思います。Visual Studio を使用すると、文字列コレクションを簡単に保存できます (以下のサンプルを参照) が、辞書コレクションでこれを行う方法がわかりません。

        <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          <string>value1</string>
          <string>value2</string>
          <string>value2</string>
        </ArrayOfString>

ベストアンサー1

なぜ車輪を再発明するのか?アプリ設定セクションは、設定ファイルに辞書のようなデータを格納するために設計されています。

AppSettings セクションにあまり多くのデータを入れたくない場合は、次のように関連する値を独自のセクションにグループ化できます。

<configuration>
  <configSections>
    <section 
      name="MyDictionary" 
      type="System.Configuration.NameValueFileSectionHandler,System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </configSections>

  <MyDictionary>
     <add key="name1" value="value1" />
     <add key="name2" value="value2" />
     <add key="name3" value="value3" />
     <add key="name4" value="value4" />
  </MyDictionary>
</configuration>

このコレクション内の要素にアクセスするには、

using System.Collections.Specialized;
using System.Configuration;

public string GetName1()
{
    NameValueCollection section =
        (NameValueCollection)ConfigurationManager.GetSection("MyDictionary");
    return section["name1"];
}

おすすめ記事