2013-10-03 4 views
3

Я не уверен, как использовать настройки моего приложения в моем приложении mvc4. Например, у меня есть настройка (хранится в db), чтобы использовать запись или нет.Параметры приложения доступа MVC

Должен ли я загрузить параметр один раз при запуске приложения, а затем сохранить его в переменной сеанса и проверить его на это? Или я должен каждый раз, когда я вызываю actionresult, загружает настройки из базы данных?

Какая у вас лучшая практика?

+1

Часто ли эта настройка изменяется? – sino

+0

Если вы сохраните настройку в Web.config, то при каждом изменении этого файла приложение должно повторно загрузить настройки. Так что просто вытаскивание непосредственно из данных конфигурации на каждый вызов должно работать нормально. – David

+0

Нет, не часто – Gmorken

ответ

8

Вы можете сохранить этот параметр в файле web.config:

<appSettings> 
     <add key="enableLogging" value="false"/> 
</appSettings> 

И доступ к нему, как это (требуется ссылка на сборку System.Configuration):

ConfigurationManager.AppSettings["enableLogging"]; 

Обратите внимание, что это хранит только строки значения, чтобы вы могли его разобрать или просто сравнить с строкой.

+0

Могу ли я написать дополнение к диспетчеру конфигурации? Я хочу иметь возможность редактировать настройки в формах – Gmorken

+0

Да, вы можете. Но когда вы меняете web.config (как при сохранении нового значения), ваш сайт перезагружается. Нехорошо. Так что в вашем случае это не лучшее решение. :( – Lars

4

в этом случае хранить его в:

HttpContext.Current.Cache 

хранения он будет доступен для всех запросов и установить истекает до 24 часов, например

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

+3

Не знаете, почему вы были занижены - значение должно быть загружено из БД в кэш приложения с зависимостью кеша, которая истекает через некоторое время, чтобы периодически обновлять значение из БД – Moho

+0

Может быть, он не понимал как это работает – sino

Смежные вопросы