使用handler(ashx)时如何防止重置会话超时定时器?

时间:2011-06-20 11:09:34

标签: c# .net asp.net handler session-timeout

我正在使用处理程序从我的应用程序中查询某些信息。关于将处理程序与会话超时结合使用,我有一些问题:

  1. 对处理程序的调用是否会重置会话超时计时器?
  2. 如果是,有没有办法阻止重置此计时器?
  3. 出于安全原因,我不希望我的处理程序成为我的用户无限期登录的原因。

2 个答案:

答案 0 :(得分:1)

  1. 在其他网络应用中运行处理程序

答案 1 :(得分:0)

我能想到的唯一解决方案是进行某种手动会话超时处理。像这样:

void Application_BeginRequest(object sender, EventArgs e)
{
    if(Session["LastAccessTime"] != null && (DateTime)Session["LastAccessTime"] < DateTime.Now.AddMinutes(-20))
        Session.Abandon();

    if(Request.RawUrl != "/MyHandler.ashx")
        Session["LastAccessTime"] = DateTime.Now;
}