1

我有一个要求,当用户登录网站和注销时,我需要将其存储在哪里。这很简单。问题是有时用户不会退出,而只是关闭浏览器。在这种情况下,我想存储他们的会话过期的日期时间来代替他们注销的日期时间。问题是这是如何实现的?是否有一些事件被触发或类似的东西我可以用来“捕获”会话到期?

4

2 回答 2

1

在您的 global.asax 文件中,您可以捕获会话结束。

protected void Session_End(Object sender, EventArgs e)
{
    // log out user
}

如果需要,您可以为用户添加自定义标识符,而不是检查 session_end

   void Session_Start(object sender, EventArgs e) 
    {
       // Code that runs when a new session is started
       Session["CustomSessionId"] = Guid.NewGuid();
    }
于 2012-11-14T19:05:44.517 回答
1

如果您不想通过 GUID 进行跟踪,您也可以执行以下操作

void Session_Start(object sender, EventArgs e) 
{
   // Code that runs when a new session is started
   var sessionId = Session.SessionID();
}
于 2012-11-14T19:14:46.517 回答