AppSettings と applicationSettings (.NET app.config / Web.config) の長所と短所 質問する

AppSettings と applicationSettings (.NET app.config / Web.config) の長所と短所 質問する

.NET Windows フォーム アプリケーションを開発する場合、構成値を格納するためにこれらのタグのいずれかを選択できますApp.config。どちらが適しているでしょうか?

<configuration>

  <!-- Choice 1 -->
  <appSettings>
    <add key="RequestTimeoutInMilliseconds" value="10000"/>
  </appSettings>

  <!-- Choice 2 -->
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5612342342" >
        <section name="Project1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5612342342" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <Project1.Properties.Settings>
      <setting name="TABLEA" serializeAs="String">
        <value>TABLEA</value>
      </setting>
    </Project1.Properties.Settings>
  </applicationSettings>

</configuration>

ベストアンサー1

基本的なこと<appSettings>は扱いやすく、<add key="...." value="..." />エントリを入力するだけで完了します。

欠点は、型チェックがないことであり、たとえば、設定したい数値が実際に数値であると安全に想定することはできません。誰かがその設定に文字列を入れる可能性があります。単にそれにアクセスするだけで、ConfigurationManager["(key)"]何を扱っているかを知るのはあなた次第です。

また、時間が経つにつれて、<appSettings>アプリの多くの部分がそこに何かを入れ始めると、かなり複雑で乱雑になる可能性があります (古い windows.ini ファイルを覚えていますか? :-))。

可能であれば、独自の構成セクションを使用することをお勧めします。.NET 2.0 では、非常に簡単になり、次のことが可能になります。

  • a) コードで構成設定を定義し、型安全かつチェック済みにする
  • b) きれいに分離できるあなたの他の人の設定から取得できます。また、自分の設定コードも再利用できます。

CodeProject には、.NET 2.0 構成システムをわかりやすく解説した非常に優れた記事シリーズがあります。

  1. .NET 2.0 構成の謎を解明する

  2. .NET 2.0 構成の謎を解読する

  3. .NET 2.0 構成の謎を解く

強くお勧めします! Jon Rista は、.NET 2.0 の構成システムをわかりやすく説明してくれました。

おすすめ記事