if(HttpContext.Current.Session [" id"]!= null)返回NULL EXCEPTION

时间:2017-02-01 12:34:02

标签: asp.net-mvc class session

我有一个mvc项目。

问题1)

当我在我的visual studio中启动项目时,session_end(在global.asax中)启动。那是正常的吗?我没有在项目开始时打开会话和关闭会话,但它确实有效。

问题2)

我在课堂上写的方法在session_end触发时起作用。我这样设置它。但当我启动我的项目时,session_end会触发。无论如何,这对我来说不是一个大问题,,,,

BUT

我的方法有

if (HttpContext.Current.Session["id"] != null)

这一行。当此行有效时,会发生错误

NULL REFERENCE EXCEPTION

  

类型' System.NullReferenceException'的例外情况发生在   blabla.dll但未在用户代码中处理附加信息:   对象引用未设置为对象的实例。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这是因为您的HttpContextCurrentnull。 如果你使用c#6,你可以这样做:

if (HttpContext?.Current?.Session["id"] != null)

或者您可以单独检查null