繁体   English   中英

会话{“对象引用未设置为对象的实例。”} System.Exception {System.NullReferenceException}

[英]session {“Object reference not set to an instance of an object.”} System.Exception {System.NullReferenceException}

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

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

}

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

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

Session["usertype"] = "2"

登录后页面,10秒后刷新。 那是我放松会议的地方。 请让我知道,这里有什么问题。

如果您收到NullReferenceException ,则会话值将返回为null 您可能应该检查一下:

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

可能是会话状态被禁用,或者实际上没有设置值。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM