Asp.net 我如何保持会话的干净?

Asp.net 我如何保持会话的干净?,asp.net,session,Asp.net,Session,这是关于会话用于存储一些临时数据的情况——一个例子是在多步骤注册过程中输入的信息 如果一个网站有许多这样的部分-它想利用会话作为部分内页面的临时数据存储,那么当不再需要数据时,考虑到用户可能只是离开该部分,因此页面本身不能用于清理,什么是清理会话的好方法 [编辑]在我的情况下,这方面的主要驱动力是减少网络流量,因为会话存储在proc之外,但同样的问题也适用于内存受限的应用程序和一般性能。此外,会话中意外的数据很容易导致难以跟踪的错误。如果要存储批量数据,您可以选择以下方法: 缓存 数据库 不建议

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

如果一个网站有许多这样的部分-它想利用会话作为部分内页面的临时数据存储,那么当不再需要数据时,考虑到用户可能只是离开该部分,因此页面本身不能用于清理,什么是清理会话的好方法


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

如果要存储批量数据,您可以选择以下方法:

  • 缓存
  • 数据库

  • 不建议在会话中存储大量数据。

    时间应保持会话干净。会话应该过期,并在这样做时核取其所有数据。这是默认行为


    我同意在一个会话中存储太多数据对服务器资源不是一件好事,但正如您所知,这有时是一个必要的缺点。如果你真的很烦,考虑把你的会话转移到SQL Server。这将增加一点延迟,但您将能够处理更多的用户。

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

    为什么??大多数现代web应用程序在每次页面浏览时都会对数据库进行十几次的访问,因此一些额外的简单查询不会对性能产生显著影响

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


    为什么??一个人能在登记表上输入多少文字,真的吗?任何低于4000字节的内容都将占用相同的空间:一个操作系统页面

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