会话变量空引用异常

时间:2014-11-18 13:29:45

标签: asp.net session-variables nullreferenceexception

我在以下行获得Null Reference异常:

private void BindData()
{
         string username = Session["Username"].ToString();

当用户登录,闲置几分钟并刷新页面时,会发生此错误。我在我的Web.Config中有以下内容,但我可能会导致错误但是当我评论它时,错误仍然发生:

<sessionState timeout="20" />

堆栈追踪:

    [NullReferenceException: Object reference not set to an instance of an object.]
   _1.PresentationLayer.WebPages.ViewItFaults.BindData() in C:\Users\Rcc\Desktop\Development\Ticketing system\1.PresentationLayer\WebPages\ViewItFaults.aspx.cs:26
   _1.PresentationLayer.WebPages.ViewItFaults.Page_Load(Object sender, EventArgs e) in C:\Users\Rcc\Desktop\Development\Ticketing system\1.PresentationLayer\WebPages\ViewItFaults.aspx.cs:19
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
   System.Web.UI.Control.OnLoad(EventArgs e) +92
   System.Web.UI.Control.LoadRecursive() +54
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772

1 个答案:

答案 0 :(得分:0)

当您注释掉该行时,ASP.net使用默认超时,即20。因此,注释该行不会改变任何内容。如果希望会话持续更长时间,请指定更高的超时。 525600分钟是可能的最长超时(1年)

<sessionState timeout="525600" />

另一方面,请确保正确处理您的例外情况,不惜一切代价避免黄色死亡事件