我的问题是,一旦Session_End在我的Global.asax中执行,HttpContext.Current
对象不再存在 - 可能会像预期的那样,我会想象的。所以,我试图做的是一旦会话结束,为当前登录的用户更新我的登录表并将他们的LoggedIn状态设置为False。这里是我的Session_End中:ASP.NET MVC4 - Session_End - 如何在Global.asax的Session_End中获取当前登录的用户名?
protected void Session_End(object sender, EventArgs e)
{
Helpers.OperationContext.UpdateIndividualLogin();
}
正如你可能已经猜到了,我可以尝试通过:
System.Web.HttpContext.Current.User.Identity.Name
但此对象不再存在,因为我只能想象,它已经被处理掉。那么,有什么方法可以抓住当前(或之前)当前的用户名吗?
只是一个评论:如果您正在考虑稍后部署到Web场或在SQL Server或其他变体中使用会话状态,请注意Session_End事件可能不会在某些配置上触发 – 2013-04-10 22:55:33
感谢那篇信息。我今晚的研究也发现了这些信息。 – 2013-04-11 02:05:13