我有一个mvc项目。
当我在我的visual studio中启动项目时,session_end(在global.asax中)启动。那是正常的吗?我没有在项目开始时打开会话和关闭会话,但它确实有效。
我在课堂上写的方法在session_end触发时起作用。我这样设置它。但当我启动我的项目时,session_end会触发。无论如何,这对我来说不是一个大问题,,,,
BUT
我的方法有
if (HttpContext.Current.Session["id"] != null)
这一行。当此行有效时,会发生错误
NULL REFERENCE EXCEPTION
类型' System.NullReferenceException'的例外情况发生在 blabla.dll但未在用户代码中处理附加信息: 对象引用未设置为对象的实例。
我该如何解决这个问题?
答案 0 :(得分:0)
这是因为您的HttpContext
或Current
是null
。
如果你使用c#6,你可以这样做:
if (HttpContext?.Current?.Session["id"] != null)
或者您可以单独检查null
。