В наших веб-приложениях мы разделяем наши уровни доступа к данным на их собственные проекты.
Это создает некоторые проблемы, связанные с настройками.
Поскольку в конечном итоге DAL необходимо будет использовать, возможно, более чем из одного приложения, web.config не выглядит хорошим местом для хранения строк подключения и некоторых других настроек, связанных с DAL.
Чтобы решить эту проблему, в некоторых наших недавних проектах мы представили третий проект только для настроек. Мы поместили настройку в систему .Setting файлов ... С помощью простой оболочки, можно было легко добиться различных настроек для различных сред (Dev, QA, Staging, Production и т. Д.).
Единственная проблема заключается в том, что проект настроек (включая класс .Settings) компилируется в сборку, поэтому вы не можете изменить его без выполнения сборки / развертывания, и некоторые наши клиенты хотят иметь возможность конфигурировать свои проекты без Visual Studio.
Итак, есть ли лучшая практика для этого? У меня такое чувство, что я заново изобретаю колесо.
Некоторые решения, такие как хранение настроек в фиксированном каталоге на сервере, скажем, в нашем собственном формате XML, пришли нам в голову. Но опять же, я бы предпочел избежать повторного создания шифрования для конфиденциальных значений и так далее. И я бы предпочел оставить решение автономным, если это возможно.
РЕДАКТИРОВАТЬ: Оригинальный вопрос не содержал действительно проницательной причины, по которой мы не можем (я думаю) использовать web.config ... Это выводит несколько (очень хороших) ответов из контекста, мой плохой.