Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Значения конфигурации в БД или в файле?

Автор вопроса: Aaron PalmerОтветов: 7

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

configuration

Ответы

Ответ 1 · рейтинг 8 · Ilya Kochetov

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

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

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

Ответ 2 · рейтинг 3 · Ta01

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

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

Ответ 3 · рейтинг 1 · Corey Trager

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

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

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

Ответ 4 · thismat

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

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

Однако все это основано на нестрогой основе и не всегда так.

Ответ 5 · kenny

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

Ответ 6 · Ian Andrews

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

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

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

Ответ 7 · Protagonist

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы