伸びすぎたコメント…
Marc_s の回答と質問の観点は良好です (私からの 2 つの +1)。
以下は、どちらにとってもニュースではないことは間違いありませんが、誰かがこれに遭遇し、純粋にプログラムによるアプローチの短所を認識していない場合に備えて、指摘したいと思います.
構成ファイルベースのセットアップ手段からプログラムによる構成への移行
- 現場で物事を調整 (ハック!) する能力を失います -- 頼りになる唯一の手段は、バイナリを再コンパイルして再デプロイすることです。多くのシナリオ (私のシナリオを含む) では、これは n ではありません。
- 構成ファイルでそれらをジャグリングすることにより、複数の構成セットを切り替えることができなくなります。
引用された「損失」はどちらも議論の余地があることを認めます。それらは悪い習慣を助長し、顧客にとって最も確実なソリューションを可能な限り迅速に実現することを妨げる可能性があります。
更新:使用するメカニズムを実装しましたChannelFactory<T>
が、app.config からカスタマイズされた構成が存在する場合はそれを取得し、存在しない場合はデフォルトを提供します (私のシナリオは、私が他の誰かのプロセスのゲストであり、したがって、構成ファイルを簡単に更新できる、または更新済みであると想定することはできませんが、展開後に設定を微調整するオプションを失いたくありません)