Хранение параметров конфигурации в web.config или базе данных

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

Создание класса (которые наследовали ConfigurationSection), которые отображают настройки в web.config файле?
Или создание некоторого DAL и классов BLL та работа с базой данных?

8
задан usefulBee 20 December 2016 в 16:36
поделиться

5 ответов

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

  1. Конфигурация времени компиляции (изменения выполняются вместе с изменениями кода) - если возможно, то внутри кода или сборки (как встроенный ресурс), в противном случае в web.config
  2. Конфигурация конкретного экземпляра сервера (строки подключения SQL, локальный файл пути) - в web.config
  3. Конфигурация приложения (базы данных) (выбор функций и другие глобальные настройки приложения, которые меняются редко, если вообще изменяются) - в базе данных, но без пользовательского интерфейса
  4. Конфигурация приложения - в базе данных, доступная через администратора UI
7
ответ дан 5 December 2019 в 11:24
поделиться

Чтобы ответить на вопрос:

Основная информация должна храниться локально в web.config (строки подключения и т. Д.)

Помимо этого другая информация может храниться в любом месте.

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

Как часто что-то будет меняться? Если настройка выполняется разово, то наличие административных страниц было бы излишним, но если есть текущие изменения (добавление новых пользователей, категорий и т. Д.), То они могут быть хорошей идеей.

Также с данными в базе данных вы можете выполнять удаленное администрирование системы

Итак, без дополнительной информации о вашем приложении я не могу дать рекомендации.

3
ответ дан 5 December 2019 в 11:24
поделиться

В большинстве случаев , у вас есть отдельные настройки для каждого модуля на каждой странице. Таким образом, вы должны сохранить их в базе данных.

0
ответ дан 5 December 2019 в 11:24
поделиться

Я думаю, что вы хотите:

String s = "Hello world";
new sun.misc.BASE64Encoder().encode(s.getBytes("UTF-8"));

Еще лучше, используйте commons utils, как предлагал предыдущий ответ. Используйте sun.misc.Base64Encoder, только если вы не можете позволить себе добавить внешнюю зависимость от другой банки.

-121--3210698-

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

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

-121--3612622-

Создайте раздел конфигурации. Это довольно прямо вперед и соответствует вашим потребностям.

0
ответ дан 5 December 2019 в 11:24
поделиться

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

http://unix.derkeiler.com/Newsgroups/comp.unix.programmer/2007-03/msg00147.html

-121--1578447-

Я думаю, вы хотите:

String s = "Hello world";
new sun.misc.BASE64Encoder().encode(s.getBytes("UTF-8"));

Еще лучше, используйте общие utils, как предлагал предыдущий ответ. Используйте sun.misc.Base64Encoder, только если вы не можете позволить себе добавить внешнюю зависимость от другой банки.

-121--3210698-

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

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

5
ответ дан 5 December 2019 в 11:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: