存储中间表单数据

发布于 2024-11-05 09:10:33 字数 340 浏览 5 评论 0原文

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

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

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

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

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

In a web application, we often come across a form submission process that spans across several pages, for ex: In first form we capture basic information, next page capture some other information and so on. I have a scenario where I've 7 screens to capture all the details about user and "Submit" button appears on 7th page.

Usually we store all the intermediate values in HttpSession and when its time to submit we retrieve all the values from Session and create an entry in database.

With this approach, by the time user completes all the form entries (i.e. from Page 1 to Page 7), everything resides in Session.

I would like to know, is there any alternative apart from HttpSession for storing the intermediate values?

I'm actually trying to find the ways to make my HttpSession less bulky.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陌伤浅笑 2024-11-12 09:10:33

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

You can also store just the reference in a session which then maps to a cache like e.g. Memcached. Or if it is important that you don't lose the data while the user walks through the steps, you can also persist the data in a database and just refer via a key from a session to it. To store too much data in the session is sometimes not the best choice, so I would just store a reference there.

冷月断魂刀 2024-11-12 09:10:33

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

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

You can try caching technology of .Net, this might be useful instead of using session for all the data, also you can just use the id of the session for the cache id.

Second option I think is configuring your Session-State mode to use SQLServer mode for the storage.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文