Использование ASP .Net C # 3.5, работающего на IIS 6 и бэкэнда SQL Server 2005.
Я реализую сложное многоэтапное / многоцелевое веб-приложение на основе веб-формы, которое имеет много элементов управления ииспользует аутентификацию формы.Шаги являются очень динамичными, панели и элементы управления представляются или скрываются от пользователей в соответствии с выбором пользователей, сделанным на различных шагах.
Форма является интенсивной и требует много времени для пользователей и в соответствии с мандатом, который не изменится.
Я пытаюсь гарантировать, что пользователь не расстроится, если его сеанс по какой-либо причине будет прерван, гарантируя, что завершенные шаги будут восстановлены при возвращении в приложение.
Использование HTTPModule /HTTPHandler с именем FormStateKeeper (http://fsk.codeplex.com/) делает именно это для случаев, когда время аутентификации пользователя истекло.
Поскольку FormStateKeeper хорошо работает для тайм-аутов аутентификации, я попытался расширить / изменить его, создав провайдера хранения, который хранитсериализованное состояние формы в таблице БД в виде varbinary, а не в кеше времени выполнения, который используется по умолчанию в FormStateKeeper. Это похоже на работу, т. е. форма при десериализации и восстановлении в промежуточную страницу выглядит идеально и идентична той, которая хранится вкэш времени выполнения.
В любом случае, мои попытки использовать FormStateKeeper с использованием хранилища БД не увенчались успехом.
Я понимаю, что могу просто сериализовать форму, но мне хотелось бы получить представление состояния / элемент управлениятакже состояние, так как вся страница / приложение очень динамична со скрытыми / отключенными элементами управления / панелями, графикой индикации шага и т. д.
У меня нет проблем с сериализацией / десериализацией и сохранением вышеприведенного, но я немного растерялся из-за лучшего подходавосстановить веб-страницу в ее сохраненном состоянии для пользователя, когда он снова войдет в приложение, то есть сгенерирует обратную передачу с промежуточной виртуальной страницы и т. д.
Информация, предложения и примеры будут высоко оценены.
Steve