【问题标题】:How to find and redirect to a page after ASP.NET session has expired?ASP.NET 会话过期后如何查找并重定向到页面?
【发布时间】:2017-10-28 09:47:06
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net webforms session-cookies


    【解决方案1】:

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

    请注意,没有 100% 完美的方法可以做到这一点。由于您无法控制的事情,例如网络延迟、用户的 PC 等 - 您的客户端计时器可能/可能会与服务器会话相差一两秒的可能性总是存在的。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-22
      • 1970-01-01
      相关资源
      最近更新 更多