我们在我们的网站上有几个向导样式表单应用程序,我们在每个页面上捕获用户的信息,然后使用Web服务提交到后端进程.
遗憾的是,我们无法在每个表单提交过程中以块的形式提交信息,因此我们必须将用户会话存储到流程结束并同时提交.
服务器内存/ sql server磁盘空间的数量是我可以在用户会话中存储多少的唯一约束,还是我还需要考虑其他事项?
编辑:该站点基于ASP.NET Web表单构建.
解决方法
假设信息不敏感,那么您可以将信息存储在cookie中,这将减少服务器端存储所需的信息量.这也允许您通过
JavaScript访问信息.
或者,您可以使用视图状态来存储信息,尽管这可能导致在服务器和客户端之间发送大量数据,而不是我首选的解决方案.
您应该存储的会话信息量根据应用程序,预期用户数量,服务器规格等而有很大差异.要提供更准确的答案,需要更多信息:)
最后,假设在页面之间不需要整个过程中收集的信息,那么您可以将所有信息存储在数据库表中,并仅将记录唯一ID存储在会话中.在提交每个页面时,将更新db记录,然后在最后一页上检索并提交所有信息.如果由于所需的db读取次数需要检索每个后续页面上的先前信息,这不是一个想法的解决方案.