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

时间:2013-10-14 14:47:01

标签: c# asp.net-mvc-3 session

我在我的控制器类的构造函数中检查会话并在

上收到错误Object reference not set to an instance of an object.
if (Session["MemberId"] == null)
{
  //....Redirect to login page
}

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

1 个答案:

答案 0 :(得分:5)

在控制器的构造期间,

Session确实为空。试试这个:

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

    base.Initialize(requestContext);
}

请参阅MSDN