session { "Object reference not set to an instance of an object." } System.Exception {System.NullRef



我是ASP.NET的新手,遇到了一个问题。我正在努力管理已经写好的网站。当我到达以下行时,我出现了这个错误:

if (Session["usertype"].Equals("2"))
{
}

Session["usertype"]已在上一页上分配。在当前页面上,我释放了所有会话变量(我在调试中检查了它)。

会话在登录后按以下方式分配

Session["usertype"] = "2"

登录后页面,10秒后刷新。这就是我放松训练的地方。请告诉我,这里可能出了什么问题。

只需检查Session变量是否为Null-

     if( Session["usertype"] != null )
    {
         //Now check your condition here
    }
   else {
           //Perform any operation
        }

如果您正在获取NullReferenceException,那么会话值将返回为null。你可能应该检查一下:

var userType = (string)Session["usertype"];
if(userType == null) {
    // .. things to do if no session value
} else {
    // test "2" etc
}

可能是会话状态被禁用,或者根本没有设置值。

您使用的是WebForms还是MVC?在WebForms中,会话状态直到页面初始化之后才可用。

您的流程是否超过10秒?您可以更改IIS中会话的长度。打开IIS,单击您的网站,选择会话状态(ASP.NET选项卡),查看状态服务器,更改超时(默认值:10秒)

相关内容

最新更新