J
Jeremy S.
I need to design a wizard-style UI, where I collect data in several aspx
pages in a sequence. At any point in the sequence, the user must be able to
save their work. The data collected in the wizard pages goes into a SQL
Server database. As users navigate amongst pages (users can navigate amongst
the pages; back and forth, and directly jump to other pages), the app must
keep track of the values the user entered in the other pages. I'm wondering
where I should maintain this "wizard data" as the user navigates amongst the
pages in the wizard.
A quick answer would be to maintain the wizard data in Session state. But
the problem with Session is that it will timeout. I don't want for this app
to rely on Session as the users may leave their computer and come back to
finish the wizard - but after their session has timed out. Alternatively, I
could stick it into the system Cache and key off of user ID, but the Cache
is volatile. Application state seems like a better choice, except that it's
generally recommended to minimize use of Application state - that, plus
application state would get blown away on server restarts or recyclings of
the app pool. So, what to do?
Thanks.
pages in a sequence. At any point in the sequence, the user must be able to
save their work. The data collected in the wizard pages goes into a SQL
Server database. As users navigate amongst pages (users can navigate amongst
the pages; back and forth, and directly jump to other pages), the app must
keep track of the values the user entered in the other pages. I'm wondering
where I should maintain this "wizard data" as the user navigates amongst the
pages in the wizard.
A quick answer would be to maintain the wizard data in Session state. But
the problem with Session is that it will timeout. I don't want for this app
to rely on Session as the users may leave their computer and come back to
finish the wizard - but after their session has timed out. Alternatively, I
could stick it into the system Cache and key off of user ID, but the Cache
is volatile. Application state seems like a better choice, except that it's
generally recommended to minimize use of Application state - that, plus
application state would get blown away on server restarts or recyclings of
the app pool. So, what to do?
Thanks.