我是 asp.net 的新手。所以请帮帮我。我试图通过使用此链接上的说明将会话模式更改为 SQLServer 来保留一些会话变量:
我读过一些帖子说即使在会话超时后将会话存储在 SQL Server 数据库中也会保留会话。但在我的情况下,会话超时后,aspstateTempSessions 表中的会话也会被删除。有没有办法告诉 asp.net 保留一些我想在超时后保留的会话变量?
谢谢。
我是 asp.net 的新手。所以请帮帮我。我试图通过使用此链接上的说明将会话模式更改为 SQLServer 来保留一些会话变量:
我读过一些帖子说即使在会话超时后将会话存储在 SQL Server 数据库中也会保留会话。但在我的情况下,会话超时后,aspstateTempSessions 表中的会话也会被删除。有没有办法告诉 asp.net 保留一些我想在超时后保留的会话变量?
谢谢。
Session 是一个易失性存储系统,设计为仅在会话处于活动状态时才存在。如果您需要值在会话中存活,您应该继续并将它们存储在单独的持久结构中,例如与用户(而不是会话)绑定的 SQL 表。
编辑: 如果你能想出一个对象结构来存储向导的“状态”(完成的步骤、选择的选项等),你可以序列化对象并将它们作为 XML BLOB 存储在 SQL Server 中,使用用户的login 和 ProductID 作为主键。这样你就可以反序列化状态,并且用户可以从他们离开的地方继续。
正如我在评论中所说,您需要设置一个放弃超时期限,之后该对象的所有编辑都将被删除并被视为丢失。