1

在 Web 应用程序中,我们经常会遇到跨越多个页面的表单提交过程,例如:在第一个表单中我们捕获基本信息,下一个页面捕获一些其他信息等等。我有一个场景,我有 7 个屏幕来捕获有关用户的所有详细信息,并且“提交”按钮出现在第 7 页上。

通常我们将所有中间值存储在 HttpSession 中,并在提交时从 Session 中检索所有值并在数据库中创建一个条目。

使用这种方法,当用户完成所有表单条目(即从第 1 页到第 7 页)时,所有内容都驻留在 Session 中。

我想知道,除了 HttpSession 之外,还有其他方法可以存储中间值吗?

我实际上正在尝试找到使我的 HttpSession 不那么笨重的方法。

4

2 回答 2

2

您还可以仅将引用存储在会话中,然后映射到缓存,例如Memcached。或者,如果在用户执行这些步骤时不丢失数据很重要,您还可以将数据持久保存在数据库中,并通过会话中的键来引用它。在会话中存储太多数据有时不是最好的选择,所以我只会在那里存储一个引用。

于 2011-05-04T05:26:32.910 回答
1

您可以尝试.Net 的缓存技术,这可能有用,而不是对所有数据使用会话,您也可以只使用会话的 id 作为缓存 id。

我认为第二个选项是将您的会话状态模式配置为使用 SQLServer 模式进行存储。

于 2011-05-04T05:26:56.397 回答