Настройки ASP.net externalize из web.config

У меня есть веб-приложение, а настройки подключения к БД хранятся в web.config. Проблема в том, что это приложение развернуто на нескольких серверах, и строка подключения может отличаться. Поэтому я хотел бы, чтобы на всех серверах был один и тот же файл web.config, а фактические параметры конфигурации были перенесены во внешний вид, например, в XXX.properties - это очень похоже на мир java - файл конфигурации имеет заполнители, а значения считываются из других файлов.

Опять же: на всех серверах одинаковые файлы web.config и уникальные свойства XXX.properties.

Как я могу это настроить?

Спасибо


person user349302    schedule 29.06.2010    source источник


Ответы (2)


Для строк подключения вы можете использовать атрибут configSource:

<connectionStrings configSource="connectionStrings.config"></connectionStrings>

В наших приложениях мы по-разному управляем файлом конфигурации строки подключения. Для некоторых проектов мы просто храним файл конфигурации где-то за пределами корня основного проекта, чтобы мы могли безопасно публиковать его. Для других с правильной настройкой CI мы используем настраиваемую задачу сборки, чтобы скопировать правильный файл конфигурации в зависимости от типа сборки.

Если вы используете Visual Studio 2010, вы также можете изучить Преобразования веб-конфигурации.

person jevakallio    schedule 29.06.2010

Просто укажите расположение вашего внешнего файла конфигурации в web.config.

Затем в коде вы можете прочитать и проанализировать внешний файл, чтобы получить настройки для приложения.

person Ed B    schedule 29.06.2010