В наших веб-приложениях мы разделяем наши слои доступа к данным в свои собственные проекты.Альтернативы использованию web.config для хранения настроек (для сложных решений)
Это создает некоторые проблемы, связанные с настройками.
Поскольку DAL в конечном итоге необходимо будет использовать из более чем одного приложения, web.config не является хорошим местом для хранения строк подключения и некоторых других параметров, связанных с DAL.
Чтобы решить эту проблему, в некоторых из наших недавних проектов мы представили третий проект только для настроек. Мы установили настройку в систему .Setting files ... С простой оболочкой легко было установить различные настройки для различных сред (Dev, QA, Staging, Production и т. Д.).
Единственная проблема заключается в том, что проект настроек (включая класс .Settings) компилируется в сборку, поэтому вы не можете изменить его, не делая сборки/развертывания, и некоторые из наших клиентов хотят иметь возможность настроить их проекты без Visual Studio.
Итак, есть ли лучшая практика для этого? У меня такое чувство, что я изобретаю колесо.
Некоторые решения, такие как сохранение настроек в фиксированном каталоге на сервере, например, в нашем собственном формате XML, произошли с нами. Но опять же, я бы предпочел избежать повторного создания шифрования для чувствительных значений и так далее. И я предпочел бы оставить решение самодостаточным, если это возможно.
EDIT: Исходный вопрос не содержит действительно проникающей причины, по которой мы не можем (я думаю) использовать web.config ... Это дает несколько (очень хороших) ответов из контекста, мое плохое.
Я делаю это так на некоторое время, и это здорово. В Web.Config я просто храню строку соединения и переменную под названием «enviroment», которая содержит такое значение, как «Производство», «Стадия», «Разработка». А затем в базе данных есть таблица под названием «Настройки», которая содержит все настройки для всех разных сред. И я использую RedGate SQL Data Compare, чтобы синхронизировать все. – 2009-11-30 16:25:36