2

ConfigurationManager次のようなapp.configができるように拡張できるようにしたいと思います。

<configuration>

<databases>
    <add name="db1" server="someServer" dbName="superDB" userName="" password=""/>
    <add name="db2" server="anotherServer" dbName="ordinaryDB" userName="dba" password="dba"/>
</databases>

</configuration>

そして、そうすることでこれらのフィールドにアクセスできるようになりConfigurationManagerます

string dbName = ConfigurationManager.Databases["db1"].DBName;

利用可能なカスタマイズオプション(たとえば、ここ)を確認しましたが、実際に達成しようとしていることはわかりません。これも可能ですか?

(私は自分の構成マネージャーをローリングすることでこれを行うことができることを認識していますが、可能であれば、.NET Frameworkが現在提供しているものを拡張したいと思っています)

4

3 に答える 3

2

カスタム構成マネージャーを作成していません。これを行うには、カスタム構成セクションを作成し、それを構成ファイルに登録して完了です。

お役に立てれば...

PS 良いチュートリアル @ codeproject.com : http://www.codeproject.com/KB/dotnet/mysteriesofconfiguration.aspx

于 2009-07-03T09:38:08.970 に答える
2

ConfigurationManager.ConnectionStringsこの場合、プロパティを使用する必要があるようです。

App.Config を拡張して独自の構成セクションを含めたい場合は、クラスから派生するクラスを作成できますConfigurationSectionここに良い例があります。

あなたの質問であなたが表現したこと...ConfigurationManager.Databasesデータベースが ConfigurationManager クラスのカスタム静的プロパティであるようなことをできるようにすることは不可能です。

于 2009-07-03T09:57:07.193 に答える
1

このクラスを使用しConfigSectionて、カスタマイズした構成属性を構成ファイルに追加できます。

.NET 構成セクションをグラフィカルに設計し、それらに必要なすべてのコードとスキーマ定義 (XSD) を自動的に生成できる、非常に便利な Visual Studio アドイン(構成セクション デザイナー)があります。

インストールと使用方法については、こちらを参照してください。

于 2012-01-11T16:57:40.383 に答える