【发布时间】:2013-11-27 01:04:34
【问题描述】:
我有一个包含类似“向导”的工作流程的应用程序,用户可以在其中编辑大量对象,一旦完成,他们可以选择保存或取消他们的编辑。鉴于对象的大小,将它们存储在客户端并往返它们是不可行的。相反,我们使用会话状态来存储对象,并使用 ajax 方法来检索/编辑它们。
我的问题是,如果用户选择在未完成此工作流的情况下离开当前页面,则对象集合将保留在会话中,直到会话过期或用户再次开始相同的工作流。鉴于可能有许多并发用户并且对象集合可能会变得相当大(即每个用户> 2MB),我担心这会导致不必要的内存消耗和潜在的性能下降。
当然还有其他不使用会话的方法(即写入临时表),但是,我想知道是否有一种方法可以智能地检测用户何时离开控制器,以便我可以执行某种操作的清理(删除不必要的会话变量)。
【问题讨论】:
标签: c# asp.net asp.net-mvc session