Asp.net 在Globle.asax文件中的Session_End事件中访问会话对象

Asp.net 在Globle.asax文件中的Session_End事件中访问会话对象,asp.net,Asp.net,我想在globle.asax文件的session_End事件中访问session变量。但是HtppContext.Current返回null。请提出其他建议 protected void Session_End(object sender, EventArgs e) { if (HttpContext.Current != null) { HttpContext ht = HttpContext.Cur

我想在globle.asax文件的session_End事件中访问session变量。但是HtppContext.Current返回null。请提出其他建议

protected void Session_End(object sender, EventArgs e)
        {
           if (HttpContext.Current != null)
            {
                HttpContext ht = HttpContext.Current;

                string username = ht.Session["UserName"].ToString();
            }
        }

昨天我遇到了同样的问题,我只是简单地使用:

string username = Session["UserName"].ToString();

正如事件会话结束本身的名称所表明的,它发生在会话结束时,因此您不能在此处访问任何会话变量。您想做什么?我想获取当前用户用户名。在会话结束事件中?为什么会这样?您在哪里设置用户名?您想在哪里显示它?我认为Session_End的想法是它不会在HTTP请求的上下文中激发,这就是为什么HttpContext为null,并且可能会在每个实例中激发。