0

我正在开发一个 Web 应用程序页面,该页面由一个三页长的表单组成(我被限制为用户保持这种方式,即使它不是最有效的方式)。

我的问题是:从表格的一页到下一页跟踪信息的最佳做法是什么?通常,我们将所有内容都存储在会话变量中,直到我们进行存储过程调用或内联 SQL 以使用表单结果更新数据库的最后一个表单。另一种选择是在从一页转到下一页之前,逐页使用内联 SQL 来存储数据。

TL;DR - 3 页后数据和 SQL 的会话变量存储,还是每页的内联 SQL?

谢谢!

4

1 回答 1

1

我建议将每个页面上输入的数据保存在数据库中。数据可以按会话 ID 保存到一个(临时)表中。如果用户单击“完成”或“提交”按钮,则通过处理临时数据来“激活”数据。表转换为规范化表。

但是,此解决方案要求您处理永远不会复制到最终位置的死会话。因此,需要设置清理任务。这可能是一个 MS SQL 作业或对数据库的任何 SQL 查询,检查最后一次清理时间,如果达到之前设置的时间间隔,则执行它。

将所有内容存储在会话中并不是一个好方法。特别是如果他们保留更大的数据集或有很多并发用户。原因是 HTTP 会话存储在服务器的文本文件中并消耗 I/O。与 RDB 相比,这使其速度较慢。

于 2012-08-01T11:39:30.573 回答