Сохранить настройки приложения в базе данных - PullRequest
3 голосов
/ 05 июля 2011

У нас есть много appSettings в нашем приложении asp.net. Это хорошая идея, чтобы переместить их в базу данных. Я знаю одно преимущество: его легко поддерживать и выполнять административную деятельность. Мне нужно знать, сталкивался ли кто-нибудь с какими-либо проблемами.

Ответы [ 5 ]

1 голос
/ 05 июля 2011

Существует несколько способов уменьшить количество настроек приложения и упростить их поддержку.У каждого из них есть свои плюсы и минусы.Перемещение их в базу данных - это то, что может помочь улучшить ремонтопригодность (и может позволить вам создать внешний интерфейс для мониторинга и настройки их без необходимости повторного использования).В качестве альтернативы вы можете сгруппировать некоторые из них в пользовательские разделы, если они связаны, и, таким образом, сделать их лучше документированными, а не просто парами ключ-значение.

Если они идут в БД, вам необходимо учитыватькак их кэшировать, и как вы должны управлять кешем.

Нет общего ответа.Это будет зависеть от вашей ситуации.

1 голос
/ 05 июля 2011

У нас нет никаких настроек приложений в конфигурации, но поддерживается отдельная таблица БД, поскольку объем конфигурации огромен.С этим проблем нет.Конечно, мы должны использовать некоторое кэширование, чтобы предотвратить слишком большое количество запросов, связанных с информацией о конфигурации.

0 голосов
/ 05 июля 2011

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

Вы также сталкиваетесь с проблемой просмотра файлов web.config, поэтому любые изменения приводят к перезапуску приложения. С БД вам понадобится альтернативный механизм, или обойти его или просто обойтись.

Гораздо проще определить пользовательский раздел конфигурации.

Simon

0 голосов
/ 05 июля 2011

Я ожидаю, что выполнение этого даст вам снижение производительности, так как appSettings загружаются в память для загрузки приложения, а затем перезагружаются при обновлении web.config. Если вы сохранили их в базе данных, вам нужно будет каждый раз попадать в базу данных.

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

0 голосов
/ 05 июля 2011

Использование решения app.config / web.config / database / cache / custom для хранения значений конфигурации - все допустимые параметры.

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

...