ASP.NET会话过期后如何查找和重定向到页面?

时间:2017-05-27 17:04:05

标签: asp.net webforms session-cookies

我有一个使用会话的ASP.NET 网络表单结帐应用。会议可在5分钟后过期。如果用户点击aspx页面上的提交按钮,

  1. 如何找出会话已过期?
  2. 是否有可用的应用程序级别挂钩,我可以将用户重定向到一个页面,说明会话已超时并再次开始结帐流程。

1 个答案:

答案 0 :(得分:1)

因为会话存在于服务器上,所以你真正可以做的就是设置一个计时器,尽量让它与服务器保持同步。这样,当服务器上的计时器(并且希望)会话到期时,您可以拥有重定向到超时页面的代码客户端。尽管如此,保持您的客户端计时器同步仍然是一个挑战,因为您必须考虑ajax操作/部分回发/等重置服务器会话,因此他们也必须重置您的客户端计时器。

请注意,没有100%完美的方法。由于您无法控制的事情,如网络延迟,用户的PC等,您的客户端计时器可能/可能会在服务器会话中退出一两秒。

如果你想看一下,几年前我实际上为这个目的写了一个control。它实现了这几乎即插即用。