Конфиг значения в БД или Файл? - PullRequest
6 голосов
/ 29 октября 2008

У меня есть некоторые значения конфигурации для веб-приложения asp.net. Они будут поддерживаться системным администратором после запуска системы. Должен ли я хранить эти значения в базе данных или в файле конфигурации? Есть ли лучшая практика для такого рода вещей?

Ответы [ 7 ]

8 голосов
/ 29 октября 2008

Легко и удобно создать надежный интерфейс для редактирования значений в базе данных.

Трудно создать хороший файл конфигурации.

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

3 голосов
/ 29 октября 2008

Я бы всегда рекомендовал базу данных просто потому, что вы можете относительно легко создать интерфейс администратора и одинаково легко проверять все изменения. Хотя вы можете сделать то же самое с изменениями в файле, маршрут базы данных с некоторой областью административного управления всегда предпочтительнее. Особенно, когда вы хотите знать, кто что изменил, когда.

Кроме того, в нашей среде изменение файла конфигурации в случае ошибки включает все утверждения процесса управления изменениями и т. Д., Что довольно болезненно. Поэтому, если вы потратите время на включение параметров конфигурации в базу данных, я думаю, что в конечном итоге это сработает лучше. Просто мои 0,02 доллара.

1 голос
/ 30 октября 2008

Я предпочитаю текстовый файл конфигурации, стиль .ini или стиль XML по следующим двум причинам:

1 - Вы можете оставлять комментарии в текстовом файле.

2 - в текстовых редакторах есть команда "отменить".

0 голосов
/ 01 марта 2009

Я предпочитаю текстовый .ini файл. Их легко редактировать и легко перемещать, когда ваше приложение перемещается. Вот пример Setting класс , который может оказаться полезным.

0 голосов
/ 30 октября 2008

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

Значения конфигурации, хранящиеся в файлах, очень полезны для конфигураций, специфичных для компьютера (например, если вы используете подключенный диск для определения местоположения, и у каждого пользователя может быть свое сопоставление, например, привод CD / DVD).

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

0 голосов
/ 29 октября 2008

Я предпочитаю избегать баз данных, если могу, и мне не нужна производительность. Если вам нужна / есть база данных, я бы сказал, поместите как можно больше в одном месте. Одна вещь, чтобы управлять.

0 голосов
/ 29 октября 2008

В зависимости от контекста информации о конфигурации вы можете оставить ее в файле web.config или создать таблицы обслуживания для нее в базе данных. Я бы хотел, чтобы в файле web.config содержались более специфичные для бэкенда вещи, такие как строки подключения, местоположения ftp, имена пользователей / пароли (для приложения, а не разрешения пользователя).

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

Это все свободно, хотя и не всегда так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...