質問: asp.netでアプリケーション構成を管理するにはどうすればよいですか? asp.netでアプリケーション構成を管理するにはどうすればよいですか? asp.netアプリケーションの構成を管理してさまざまなクライアントに展開するのが困難です。 調整が必要なさまざまな設定の膨大な量は多大な時間を要し、現在の構成方法は複雑すぎて、この責任をサポートパートナーに押し出すことができません。 これを処理するためのより良い方法や、研究のための情報源についての提案はありますか? 現在の私たちのやり方: web.configで参照されるさまざまなxml構成ファイル、 たとえば、appsettings.xml。 特定のサイトの構成は重複した構成で保持されます ファイル サイト固有のデータのリストを含むテキストファイル 場合によっては、データベースに対する手動の一時的な変更 windsor iocのc#構成。 私たちが抱えている特定の問題: 異なる機能が有効化された異なるサイト、異なる外部 話をしなければならないサービスとさまざまなビジネスルール。 さまざまな展開タイプ(ライブ、テスト、トレーニング) 設定キーはバージョン間で変更されます(追加、削除)。つまり、 すべての重複ファイルを更新する必要があります アプリケーションの実行中にキーを変更できる必要があります ランニング これにどのようにアプローチするかに関する現在の考えは次のとおりです。 構成を動的にコンパイルされたコード(おそらくboo、 binsorまたはjavascript) いくつかの形式の差分/マージ構成がある:デフォルトを組み合わせる live / test / training設定とサイト固有の設定を使用した設定
回答: どちらにしても、設定に単一の「真実の源」という概念を持つことは価値があると思います。 一部のコンポーネントに独自の特殊な形式で構成を提供する必要がある場合、複製は問題ありません。 しかし、あなたの正気を保つために、あなたはあなたがあなたのアプリケーションに関係するすべての設定を設定し、それをweb.config内のエントリに変換するための明確に定義されたメカニズム、そしてサポートする必要があります。 サポートパートナーのスキルレベル(xmlを壊すかどうか)に応じて、guiユーティリティを提供して、この "真実の源"構成ファイルのすべてのノブを、変換/更新コードを実行して実行し、web.configとフレンドに必要な変更を加えます。 次に、さまざまなサイト/顧客の構成を管理するために、理論的には管理する構成ファイルが1つ前後あります。 注意: asp.net 4.0では、ビルド時の構成変換メカニズムが利用可能になります(http://blog.hmobius.com/post/2010/02/17/aspnet-40-part-4-config-transformationを参照してください) -files.aspx)。これにより、このタスクが簡単になります。 非webプロジェクトのハッキングでこれを使用できるようです(http://philbolduc.blogspot.com/2010/03/using-config-transforms-outside-web.htmlを参照)。 ただし、展開時にこれらの変更を行う必要がある場合、これを行うためのカスタムツールの作成にこだわる場合がありますが、xdt変換は、追加/アイテムを更新/削除します。