主页的代码
Model.UserInfo ui = (Model.UserInfo)Session["user"];
            lblUserName.Text = ui.UserName;
            lblRoleName.Text = ui.RoleId.RoleName;lblUserName.Text = ui.UserName;
未将对象引用到实例...
啥意思,有时可以有时又不行!!

解决方案 »

  1.   

    session中没有这个对象。
    Model.UserInfo ui = (Model.UserInfo)Session["user"];
    if(ui == null) return;lblUserName.Text = ui.UserName;
    lblRoleName.Text = ui.RoleId.RoleName;
      

  2.   

    所谓的SESSION丢失,很是头疼
    可以考虑在配置文件里改一下,SESSION丢失的机率会小些
    <sessionState timeout="120" mode="InProc"/>  
    //改成
        <sessionState timeout="120" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"></sessionState>
      

  3.   


    不是小一些,而是完全不会有。不过许多时候我们可能并不拥有服务器,无法保证可以配置这个StateServer。
      

  4.   

    这是IIS丢失session 尤其是在连续刷新的时候这种情况更容易发生 也就是说连续刷新时Session是很不稳定的。解决方案:有很多种(可以手动延长Session的生命周期...等) 但是到目前为止还没有见过完全避免这个的方案。
    当然 对于这种情况的产生 你可以判断当session为空的时候 做出相应的 友好的提示 或者跳转。