ASP.NET程序运行和加载大数据量数据时出错,高分求救。
我现在有个ASP.NET的程序,在页面输入条件后,进行数据库查询和计算,因数据量较大,这个过程大概需要10-45分钟不等(这是
个大概数值,具体时间不确定,或许更久),计算完成后,将计算结果显示在另外一个页面的DataView控件中,数据量大概有
1000-50000条不等(或许更多),现在的问题是,当计算小的数据量时(计算时间较短,计算的结果数量也比较少)没有一点问
题,但计算量较大时(一般超出30分钟),会报如下错误:
“无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不
允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用
同样的限制。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细
信息。
异常详细信息: System.Web.HttpException: 无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序
列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式
下执行了类似的序列化,则适用同样的限制。”
我使用的是“StateServer”会话模式, IIS服务器,XP SP2操作系统,SQL SERVER2005数据库。
硬件配置为P42.8G 512M内存。
是不是数据量太大引起的,是不是需要做分页?
另外,所在的类前也加了[Serializable]属性,在小数据量下也运行正常,望高手支招。