您可以/应该在用户会话对象中存储多少数据?

And*_*ose 8 asp.net session

我们在我们的网站上有几个向导样式表单应用程序,我们在每个页面上捕获用户的信息,然后使用Web服务提交到后端进程.

遗憾的是,我们无法在每个表单提交期间以块的形式提交信息,因此我们必须将用户会话存储到流程结束并同时提交.

服务器内存/ sql server磁盘空间的数量是我可以在用户会话中存储多少的唯一约束,还是我还需要考虑其他事项?

编辑:该站点基于ASP.NET Web表单构建.

Tob*_*lls 3

假设信息不敏感,那么您可以将信息存储在 cookie 中,这将减少服务器端所需存储的信息量。这还允许您通过 JavaScript 访问信息。

或者,您可以使用视图状态来存储信息,尽管这可能会导致服务器和客户端之间发送大量数据,这不是我的首选解决方案。

您应该存储的会话信息量根据应用程序、预期用户数量、服务器规格等的不同而有很大差异。要给出更准确的答案将需要更多信息:)

最后,假设整个过程中收集的信息不需要逐页进行,那么您可以将所有信息存储在数据库表中,并且仅将记录的唯一 id 存储在会话中。提交每个页面时,数据库记录都会更新,然后在最后一页上检索并提交所有信息。如果由于所需的数据库读取次数而需要在每个后续页面上检索以前的信息,那么这不是一个理想的解决方案。