如何保持会话清洁?

时间:2008-10-13 09:45:54

标签: asp.net session

这是关于会话用于存储一些临时数据的情况 - 一个例子是在多步注册过程中输入的信息。

如果一个网站有许多这样的部分 - 希望将该会话用作该部分内页面的临时数据存储,那么在不再需要数据时清理会话的好方法是什么,考虑到用户可以简单地离开该部分,这样页面本身就不能用于清理。

[编辑]在我的情况下,主要驱动器是减少网络流量,因为会话存储在proc之外,但同样的问题可能适用于内存绑定应用程序和性能。 Session中的意外数据也很容易导致难以跟踪的错误。

4 个答案:

答案 0 :(得分:2)

时间应保持会话清洁。会话应该过期,并在此过程中核对所有数据。这是默认行为。

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

答案 1 :(得分:0)

如果您想存储批量数据,您可以使用以下备选方案:

  1. 高速缓存
  2. 数据库
  3. 建议不要在会话中存储大量数据。

答案 2 :(得分:0)

为什么不将所有内容存储在数据库中?那个更干净了。

为什么呢?好吧,大多数现代网络应用程序针对每个网页浏览数十次访问数据库,因此一些额外的简单查询不应对性能产生重大影响。

话虽如此,在会话中存储大量用户生成的数据并没有错,特别是如果您使用的是基于文件的会话。

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

答案 3 :(得分:0)

您可以在不使用会话存储或使用数据库存储临时数据的情况下设计多步注册过程。您可以设计一个.aspx页面,其中包含多个面板,您可以一次看到一个面板。当用户完成最后一个面板时,您仍然可以访问所有以前填写的控件。