2013-05-17 2 views
1

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

Например, установка будет что-то вроде (ItemID = 1, MyCutOff = $ 5,00, AlertColor = красный) Есть много этих различных типов установок некоторые более сложные, чем другие.

В настоящее время то, что я делаю, находится на входе. Пользовательские настройки читаются и сохраняются в DataTable, который хранится в сеансе, но я уверен, что это не лучшая практика.

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

Спасибо.

ответ

0

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

Для меня вы можете оставить их в DataTable, которые у вас уже есть, и просто попросить их, когда они вам понадобятся.

Теперь одна оптимизация, которую вы можете сделать в цикле страниц, равна use the HttpContext.Current.Items[], например, если вы загружаете параметр из своей таблицы, и вам нужно использовать его на 20 разных местах в вызове страницы (например, внутри пользовательских элементов управления, внутри главной страницы, внутри страницы и т. д.), вы можете использовать HttpContext.Current.Items[] для ее сохранения.

Есть также asp.net profile properties, которые могут быть настроены и использованы для ваших пользователей.

+0

сеанс atm хранится в памяти – user2242631

+0

ASP.NET-профили, вероятно, являются «чистым» способом реализации этого. – millimoose

+0

Спасибо, что мы собираемся завершить, используя свойства профиля asp.net. – user2242631

0

Если они действительно просто настройки (вещи, которые определяют интерфейс и т. Д.), Вы также можете использовать localStorage. На самом деле легко сжимать и анализировать данные json в парах значений ключей, используя localStorage. Пока его не чувствительные данные. Если вам нужно передать params back server side, это может быть не всегда лучшим вариантом, но вам решать, как вы знаете проект, но, возможно, стоит посмотреть.

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