2009-05-29 9 views
0

ちょっと、アプリケーション構成データを保存します。現在、私はINIを使用していますが、彼らは古すぎ、今は新しいものを試してみたいと思います。私は.NETプラットフォームでC#を使用しています。C#アプリケーション構成データ

どのような解決策がありますか? app.configs?

ここでのシナリオは、他のプログラムに設定データを読み込ませたいというものです。

答えて

7

はい、さまざまな.configファイル(app.config、web.configなど)は、アプリケーションの構成データを格納するための優先手段として、INIとある程度レジストリを置き換えました。

すべてのプログラム、.Netまたはそれ以外の場合、これらのファイルを読み取ることができます。 .NETにはConfigurationManagerクラスがあり、他の言語では必要な値を取得するためにXML解析を行うことができます。

+1

また、「最後に必要なカスタム構成セクションハンドラ」を検索します。 .configファイルの "カスタム"データを処理するための汎用コードを提供します。これは.NETの言葉では "カスタム設定セクションハンドラ"と呼ばれ、Craig Anderaはもともと一般的なものを書きました。これは非常に再利用可能です。多くの人々がそれを拡張しました。例:http://weblogs.asp.net/sweinstein/archive/2005/01/10/350299.aspxしかし、私が何を意味するかを見るために他の人を検索してください。 – Cheeso

1

.NETの標準的なアプローチは、アプリケーション設定用のapp.configファイルと、ユーザー固有の設定用のuser.configファイル(場所はXPとVistaの間で異なります)を使用することです。

構成データを読み取る他のプログラムを停止することは何もありません。見える場所を示す2番目(または3番目)のアプリケーションに構成設定が必要です。

1

.NETでapp.configを使用するのが望ましい方法です。あなたがファイルへの正しいパスを与える限り、ほかのアプリケーションから読み込むためにうまく動作するはずです。それは単なるXMLファイルなので、.NET以外のアプリケーションからも読み込むことができます。

1

Visual Studioを使用している場合は、この目的のためにアプリケーション設定を使用できます。自動的に追加されたSettings.settingsを開くか、もう1つ作成してください。それらはProperties.Settings.Defaultで自動的に利用可能になり、XMLとして保存されます。異なる目的のために複数の設定ファイルを持つこともできます。

これは.NETの概念ではなく、Visual Studioの概念です。

0

多くの場合、アプリケーション設定を保持するためにSQLテーブルを使用します。私はAppSettingsと呼ばれるシングルトンクラスを作成し、テーブルからデータをロードします。 AppSettingsクラスは、設定ファイルに直接アクセスするのではなく、設定値を取得するために使用されます。 ASP.Netアプリケーションの場合、Global.asax.csのApplication_StartイベントでAppSettingsクラスをインスタンス化します。

これを行うと、ユーザーがアプリの設定の一部を制御できるようになります。通知の電子メールアドレスそれは、アプリケーションのprod、QA、およびdevバージョンを維持するときに事を単純化することもできます(それぞれ別々のデータベースインスタンスがあると仮定して)

関連する問題