заросший комментарий ...
Ответ Marc_s и перспектива вопроса хорошие (два + 1 от меня).
Я не сомневаюсь, что следующее не будет новостью ни для кого из вас, но хотел бы указать на это, если кто-то столкнется с этим и не узнает о минусах чисто программного подхода.
Переход к программной конфигурации из средств настройки на основе файла конфигурации
- вы теряете возможность корректировать (читай: взламывать!) Вещи в поле - ваша единственная возможность - перекомпилировать и повторно развернуть двоичные файлы. Для многих сценариев (включая один из моих) это не n.
- вы теряете возможность переключаться между несколькими наборами конфигураций, манипулируя ими в файле конфигурации.
Я признаю, что оба упомянутых «убытка» являются дискуссионными - они могут поощрить вредные привычки и помешать вам найти наиболее надежное решение для ваших клиентов как можно быстрее.
ОБНОВЛЕНИЕ: я реализовал механизм, в котором я использую ChannelFactory<T>
, но забрал настроенную конфигурацию из app.config, если он присутствует, или предоставил значение по умолчанию, если его нет (мой сценарий таков, что я guest в чужом процессе и, следовательно, не может предположить, что файл конфигурации легко обновляется / обновлен, но не хочет терять возможность настройки параметров после развертывания)