Хранить промежуточные данные формы - PullRequest
1 голос
/ 04 мая 2011

В веб-приложении мы часто сталкиваемся с процессом отправки формы, который охватывает несколько страниц, например: в первой форме мы собираем основную информацию, на следующей странице - некоторую другую информацию и так далее. У меня есть сценарий, где у меня есть 7 экранов, чтобы захватить все детали о пользователе, и кнопка «Отправить» появляется на 7-й странице.

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

При таком подходе к тому времени, когда пользователь завершает все записи формы (т.е. со страницы 1 до страницы 7), все находится в сеансе.

Я хотел бы знать, есть ли какая-либо альтернатива, кроме HttpSession, для хранения промежуточных значений?

Я на самом деле пытаюсь найти способы сделать мою HttpSession менее громоздкой.

Ответы [ 2 ]

2 голосов
/ 04 мая 2011

Вы также можете сохранить только ссылку в сеансе, которая затем отображается в кеш, например, Memcached .Или, если важно, чтобы вы не потеряли данные во время выполнения пользователем шагов, вы также можете сохранить данные в базе данных и просто обратиться к ней через ключ из сеанса.Хранить слишком много данных в сеансе иногда не лучший выбор, поэтому я бы просто сохранил ссылку там.

1 голос
/ 04 мая 2011

Вы можете попробовать кеширование технология .Net, это может быть полезно вместо использования сессии для всех данных, также вы можете просто использовать идентификатор сессии для кэшаid.

Второй вариант, на мой взгляд, настройка режима Session-State для использования режима SQLServer для хранилища.

...