使用ASP.NET GenericHandler时在ASP.NET中管理会话超时

使用ASP.NET GenericHandler时在ASP.NET中管理会话超时,asp.net,ajax,session,httphandler,Asp.net,Ajax,Session,Httphandler,例如,我有一个在客户端使用jQuery作为框架的web应用程序。现在,大多数页面通过使用AJAX实现了功能,并通过使用通用处理程序(.ashx)与服务器通信 现在我有一个问题,我问这个问题是想看看当我的用户会话过期时,处理这些请求的最佳解决方案是什么 例如,一个用户登录,离开浏览器15分钟,然后按下一个按钮,这将创建对处理程序的请求,现在,当我尝试读取会话变量时,它将是空的(会话已过期)。将用户重定向回登录页面的最佳方法是什么。我们通过稍微不同的方法解决这种情况。我们没有试图让所有jQuery调

例如,我有一个在客户端使用jQuery作为框架的web应用程序。现在,大多数页面通过使用AJAX实现了功能,并通过使用通用处理程序(.ashx)与服务器通信

现在我有一个问题,我问这个问题是想看看当我的用户会话过期时,处理这些请求的最佳解决方案是什么


例如,一个用户登录,离开浏览器15分钟,然后按下一个按钮,这将创建对处理程序的请求,现在,当我尝试读取会话变量时,它将是空的(会话已过期)。将用户重定向回登录页面的最佳方法是什么。

我们通过稍微不同的方法解决这种情况。我们没有试图让所有jQuery调用都处理这种错误情况,而是使用javascript在客户机上实现了一个并行超时系统。在ASP.NET会话超时前一分钟,我们在浏览器上弹出一个对话框,警告用户“您已处于非活动状态,即将注销。单击此处保持登录状态。”我们还在对话框中加入了一点倒计时。如果他们单击以保持登录,我们将向服务器发送另一个jQuery调用以重置会话超时

因此,除非用户禁用了javascript(在这种情况下,应用程序无论如何都无法工作),否则我们不可能在ASP.NET会话超时后调用jQuery