2014-01-08 4 views
3

Я разрабатываю приложение ASP.NET MVC 5, и мне нужно управлять некоторыми глобальными параметрами, которые в основном представляют собой набор пар ключ-значение. Мои требования следующие:Управление глобальными настройками в приложении ASP.NET MVC?

  1. Начальные значения считываются из конфигурационного файла сервера.
  2. Параметры доступны в каждом контроллере для чтения/записи и добавления/удаления (например, новый параметр может быть добавлен, если выполняется определенный контроллер).
  3. Параметры должны обрабатывать последующий запрос (либо находящийся в Session, либо сериализованный в QueryString).
  4. Я должен видеть и легко управлять ими (CRUD), используя специальную веб-страницу администратора.

Мой «перебор» подход для этого было бы просто реализовать статический класс с List<Tuple<string,string>>, чтобы сохранить настройки, используйте System.Web.Configuration.WebConfigurationManager для заполнения начальных значений, используйте статические свойства для хранения и извлечения списка в переменном сеансе и создать отдельный контроллер и просмотреть для управления настройками.

Но это похоже на повторное изобретательство колеса для меня. Есть ли какое-либо (не обязательно полноценное) ранее существовавшее решение (в ASP.NET или как пакет NuGet), я мог бы приложить все усилия? Или, может быть, мне не хватает чего-то фундаментального в ASP.NET?

UPDATE: В зависимости от характера параметра, некоторые из них могут иметь срок службы Application, в то время как некоторые из них связаны с текущей сессии пользователя. Поэтому они должны быть либо сохранены в объекте Session, либо «пройдены» в каждом запросе.

+0

Если они являются глобальными параметрами, которые применяются ко всем, тогда я бы использовал 'Приложение' вместо' Session' –

+0

Итак, эти пары ключевых значений являются временными? Они теряются после завершения сеанса посетителя? – sunil

+0

@sunil Я обновил свой вопрос, чтобы ответить на ваши комментарии. –

ответ

1

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

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