web.Config против таблицы настроек базы данных - PullRequest
7 голосов
/ 09 января 2011

Если у вас есть система с несколькими приложениями, веб-службами и службами Windows, какой вариант лучше?

Вариант 1) Поместите все настройки в таблицу базы данных и где-нибудь кешируйте ее, возможно, вам придется использовать веб-сервис для совместного использования объекта кеша между приложениями. Затем вы можете просмотреть некоторые из этих настроек в сетке для манипулирования пользователем.

Вариант 2) Поместите все настройки в общий файл конфигурации, и пусть web.config или app.config каждого приложения указывают на этот файл, я уверен, что есть способ поместить эти настройки в сетку, но, вероятно, потеряет способность «показывать настройки на основе роли».

Спасибо

Ответы [ 3 ]

3 голосов
/ 09 января 2011

Многое из этого сводится к предпочтениям, о каких настройках вы говорите, когда вам нужен доступ к настройкам и как часто они меняются.

В общем, я пытаюсь сохранить свой веб.config & app.config довольно маленький.Здесь находятся настройки для инфраструктурных вещей (например, загружаемые модули, строки подключения, настройки журнала, настройки ORM и т. Д.).Все, что мне действительно нужно или я хочу иметь доступ в App_start или в моем методе Main ().

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

1 голос
/ 09 января 2011

Я предпочитаю вариант 1, так как он упрощает развертывание, поскольку каждая среда может иметь разные конфигурации, но вы все равно можете выполнить развертывание xcopy, поскольку параметры не сохраняются в web.config.

0 голосов
/ 09 января 2011

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

...