2

私は単一の Windows サーバー上に約 10 の異なる .NET プロジェクトを持っています。ほとんどが .NET 4.0 ですが、一部は .NET 2.0 です。

これらのプロジェクトの一部は asp.net であり、一部はバックグラウンド ユーティリティ/サービスです。

これらのプロジェクトは、インフラストラクチャ内の 100 を超えるさまざまなデータベースとやり取りします。そのために使用する ConnectionStrings は、少なくとも月に数回変更されます。

ここでの問題は、これらのプロジェクトの 1 つに ConnectionString を配置するのを忘れると、多くの問題が発生する可能性があることです。新しいプロジェクトや更新は、さまざまなプログラマーによって常にサーバーに展開されます。

解決策に対する私の新しい試みは、すべてのプロジェクトで System.ConfigurationManager クラスをオーバーライドし、それを私が維持できる共有構成ファイルから読み取る独自の実装に置き換えることです。次に、各プロジェクトを一度再コンパイルしてデプロイします。

また、すべてのプロジェクト間で共有される machine.config ファイルで ConnectionStrings を維持しようとすることもできますが、少なくとも 3 つのプロジェクトで使用される .NET フレームワークのすべてのバージョンに対してこれを行う必要があり、このファイルは危険なようです。

どの方法を進めるかについての推奨事項はありますか?

ありがとう。

4

2 に答える 2

5

machine.config の他に、共通の appSettings ファイルを作成できます。新しいものを開発する必要はありません。共有設定をこのファイルに配置し、特定の構成ファイルで参照するだけです。

お役に立てれば。


リンクが無効になっているため、ここにいくつかの例を示します。

外部ファイルからセクションを完全にロードするには:

<connectionStrings configSource="ConnectionStrings.config" />

外部ファイルからセクションを補完するには (+ セクション自体の内容):

<appSettings file="FileService.config">
...
</appSettings>
于 2012-07-06T13:38:17.597 に答える
0

machine.config と他のソリューションの間にALIASがあります。ここでの制限は次のとおりです。SQL サーバーに対してのみ実行されます。

于 2012-07-06T13:37:59.860 に答える