你的Session是否超时了?如果用的是系统自动管理的Session对象,那么超时很容易被系统kill了的,从这方面试试?

解决方案 »

  1.   

    应该不是这个问题。
    我的Session超时,也不要导致新用户登录时也出现这个问题的呀。
    我的DataSet(存储在线用户信息的列表)是Static的。下面慢些错误信息(应用完全停止服务时)
     Server Error in '/bbs' Application.
    --------------------------------------------------------------------------------Object reference not set to an instance of an object. 
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  Stack Trace: 
    [NullReferenceException: Object reference not set to an instance of an object.]
       System.Data.Index.InitRecords() +281
       System.Data.Index..ctor(DataTable table, Int32[] indexDesc, DataViewRowState recordStates, IFilter rowFilter) +60
       System.Data.DataTable.GetIndex(Int32[] indexDesc, DataViewRowState recordStates, IFilter rowFilter) +139
       System.Data.DataView.UpdateIndex(Boolean force) +108
       System.Data.DataView.SetIndex(String newSort, DataViewRowState newRowStates, DataFilter newRowFilter) +83
       System.Data.DataView..ctor(DataTable table, String RowFilter, String Sort, DataViewRowState RowState) +461
       bbs.Ol.BindData() in c:\inetpub\wwwroot\newaspx\bbs\ol.aspx.cs:72
       bbs.Ol.DataGrid1_PageIndexChanged(Object source, DataGridPageChangedEventArgs e) in c:\inetpub\wwwroot\newaspx\bbs\ol.aspx.cs:63
       System.Web.UI.WebControls.DataGrid.OnPageIndexChanged(DataGridPageChangedEventArgs e) +110
       System.Web.UI.WebControls.DataGrid.OnBubbleEvent(Object source, EventArgs e) +479
       System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +26
       System.Web.UI.WebControls.DataGridItem.OnBubbleEvent(Object source, EventArgs e) +100
       System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +26
       System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +120
       System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +115
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +138
       System.Web.UI.Page.ProcessRequestMain() +1263 
    --------------------------------------------------------------------------------
    Version Information: Microsoft .NET Framework Version:1.0.3705.0; ASP.NET Version:1.0.3705.0
      

  2.   

    程序是单线程还是多线程,我曾在多线程中碰到过类似的情况。我的情况是另起一个线程填充DataSet,同时这个新起的线程通过Invoke对原线程里的对象进行操作。我记得错误代码好像与你给出的差不多。
      

  3.   

    这么复杂!
    我想我现在只做到单线程吧。
    WEB上的多线程,还未试过。我可能将这个DataSet存储到数据库里去。
    这样可以避免单线程的问题吗?非常感谢。