我有一个要求,当用户登录网站和注销时我需要存储。这很简单。问题是有时用户不会注销而只是关闭他们的浏览器。在这种情况下,我想存储其会话过期的日期时间,而不是它们注销的日期时间。问题是这是如何实现的?是否有某些事件被触发或类似的东西我可以用来“捕获”会话到期?
答案 0 :(得分: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();
}
答案 1 :(得分:1)
如果您不想按GUID进行追踪,您也可以执行以下操作
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
var sessionId = Session.SessionID();
}