ASP.NET MVC - Как обрабатывать глобальные настройки приложения - PullRequest
2 голосов
/ 08 апреля 2009

Предположим, что у каждого пользователя есть определенные настройки, которые сохраняются в базе данных для этого пользователя. Например: UnitSystem , UILanguage , TimeZone , ...

Когда сделан http-запрос, нам нужен доступ к пользовательским настройкам (например, UnitSystem , TimeZone , ...) для правильной обработки данных и отображения представления правильный язык .

Как правильно сохранить / получить доступ к пользовательским настройкам во время выполнения программы?

  1. Считывание пользовательских настроек из базы данных для каждого http-запроса
  2. Прочитайте пользовательские настройки один раз, когда пользователь войдет в приложение и сохраните его в переменных сеанса.
  3. Прочитайте пользовательские настройки один раз, когда пользователь войдет в приложение и сохраните его в файле cookie.

Как вы обрабатываете глобальные настройки в своих приложениях на основе MVC?

Ответы [ 2 ]

1 голос
/ 08 апреля 2009

Это то, для чего нужны поставщики профилей в ASP.NET. Взгляните на раздел документации MSDN под названием «Обзор свойств профиля ASP.NET», расположенный по адресу:

http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx

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

1 голос
/ 08 апреля 2009

В вашем случае я бы, вероятно, сохранил настройки в сеансе и куки и проверил бы их в следующем порядке:

  1. Проверьте сеанс для переменной.
  2. Если не в сеансе, проверьте cookie и сохраните значение cookie в сеансе.
  3. Если нет в cookie, проверить базу данных и сохранить в cookie и сессии.

Таким образом, вы сможете обрабатывать тайм-ауты сеансов и пользователей, у которых куки отключены довольно прозрачно, при этом максимально увеличивая производительность, удаляя БД только в случае крайней необходимости.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...