如何在global.asax页面中获取会话ID和名称

时间:2014-08-07 14:12:38

标签: c# asp.net session null global-asax

我在登录页面设置会话ID和名称。现在,我尝试在Application_Error()方法中的global.asax page中获取会话ID和名称。

我已经编写了以下编码来获取上述2个值。

但这两个值始终为空。如何在Application_Error方法中获取这两个值。

void Application_Error(object sender, EventArgs e) 
{
      string  userId = Session["UserId"].ToString();
      string  userName = Session["UserName"].ToString();
}

3 个答案:

答案 0 :(得分:1)

要使用会话ID:

HttpContext.Current.Session.SessionID

获取用户名(请注意,当用户未登录时,此名称可以为null):

HttpContext.Current.User.Identity.Name

答案 1 :(得分:0)

您不会在Application_Error中获得任何会话值。

Read more

答案 2 :(得分:0)

试试这个

string userId;
string userName;
if (HttpContext.Current != null && HttpContext.Current.Session != null) {
    userId= HttpContext.Current.Session["UserId"];
    userName= HttpContext.Current.Session["UserName"];
}