2008-10-13 67 views
1

这是关于Session用于存储一些临时数据的情况 - 一个示例是在多步注册过程中输入的信息。如何保持会话清洁?

如果一个网站有很多这样的部分 - 它们希望利用会话作为该部分内页面的临时数据存储,那么在数据不再需要时清理会话的好方法是什么,考虑到用户可以简单地离开该部分,使得页面本身不能用于清理。在我的情况下,主要驱动器是为了减少网络流量,因为会话存储在proc之外,但同样的问题可以适用于内存绑定的应用程序和性能。 Session中的意外数据也很容易导致难以跟踪错误。

回答

2

时间应该保持会话清洁。会话应该到期,并在这样做nuke他们所有的数据。这是默认行为。

我会同意在会话中存储太多的数据对于服务器资源来说并不是一件好事,但正如你所知,它有时是一个必要的罪恶。如果您真的很困扰,请考虑将您的会话移至SQL Server。它会增加一些延迟,但你可以处理更多的用户。

0

如果要存储大量数据,可以有以下选择:

  1. 缓存
  2. 数据库

不建议以大量的数据存储在会话。

0

为什么不把一切都存储在数据库中?这只是更干净。

为什么?那么,大多数现代Web应用都会为每个综合浏览量打十几次数据库,因此一些额外的简单查询不会显着影响性能。

话虽如此,在会话中存储大量用户生成的数据没有任何问题,特别是在您使用基于文件的会话时。

为什么?真的,一个人可以输入多少文字? 4000字节以下的任何内容都将占用相同的空间量:一个操作系统页面!

0

您可以设计多步注册过程,而无需使用会话存储或使用数据库来存储临时数据。您可以设计一个带有多个面板的.aspx页面,一次可以显示一个面板。当用户完成最后一个面板时,您仍然可以访问所有以前填写的控件。