将值与null进行比较时的异常

Sam*_*ami 1 c# session asp.net-mvc-3

我在我的控制器类的构造函数检查会议,并得到错误Object reference not set to an instance of an object.

if (Session["MemberId"] == null)
{
  //....Redirect to login page
}
Run Code Online (Sandbox Code Playgroud)

为什么会出现这种错误?我还能做什么?这有什么必要条件吗?像在php中我们需要session_start()在检查会话值之前?

hai*_*770 5

Session构建 Controller时确实为null .试试这个:

protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
    if (requestContext.HttpContext.Session["MemberId"] == null)
    {
        //....Redirect to login page
    }

    base.Initialize(requestContext);
}
Run Code Online (Sandbox Code Playgroud)

请参阅MSDN.