ASP.NET程序运行和加载大数据量数据时出错,高分求救。

BoxingKing 2008-07-14 11:27:57
我现在有个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]属性,在小数据量下也运行正常,望高手支招。
...全文
249 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
KN掏掏不绝 2009-08-27
  • 打赏
  • 举报
回复
哈哈。
楼主别灰心
我也在等这个答案
BoxingKing 2008-07-21
  • 打赏
  • 举报
回复
哎,看来找不到答案了,算了结贴了。
不知大家为什么都怀疑算法,不去分析实际的问题,高手都哪里去了?
  • 打赏
  • 举报
回复
看来你的硬件该升级了
BoxingKing 2008-07-20
  • 打赏
  • 举报
回复
顶起,别沉底了。
BoxingKing 2008-07-19
  • 打赏
  • 举报
回复
回楼上,把模式改为inproc状况有所好转,但我不明白的是inproc应该比“StateServer”更容易丢失session,为什么设成inproc后反而会好些。我最初就是就是因为inproc容易丢失其它页面的session才修改为“StateServer”的,哪位大虾给解释一下。
还有,在论坛上也看到许多讨论session丢失的帖子,貌似是个难题,不好解决。sql server 方式是不是相对还写,有谁用过,如何配置?
kyle315 2008-07-18
  • 打赏
  • 举报
回复
把会话模式改为inproc或者sql server 试试。另外,有可能是session丢失引起的。
BoxingKing 2008-07-17
  • 打赏
  • 举报
回复
数据库、包括计算我都已经做了优化,我说的计算并不是简单的从数据库中读取数据,而是中间要做很多复杂的数学运算。我所说得问题并不一定是由数据库操作而引起的,出现这种问题最主要是由于会话状态修改为“StateServer”、且计算时间较长引起的,计算速度现在已经优化到极致了,能缩短的可能性很小。这这种情况下看大家有没有好的方法。
homesos 2008-07-17
  • 打赏
  • 举报
回复
数据分批处理,
数据库优化,关于数据处理,能在数据库中完成的就尽量在数据库中完成。
suyiming 2008-07-17
  • 打赏
  • 举报
回复
我曾经做过一个ip库 2000万的报表 进行一些数据处理 只花了1-3秒 很少超过5秒的
之前我也试过15分钟,后来进行数据字段增减 优化索引 后来处理数据时间小于5秒

处理2000万数据 内存消耗真大 耗内存500m

我只说说我经验 - -!
honkerhero 2008-07-17
  • 打赏
  • 举报
回复
代码质量问题,才5万,怎么可能用这么长时间
yap111 2008-07-17
  • 打赏
  • 举报
回复
怎么会执行这么久啊,怀疑,评估50年后中国国民经济发展态势吗?
BoxingKing 2008-07-17
  • 打赏
  • 举报
回复
顶呀,别沉底了,现在还没有解决呢。
wuyanteng1 2008-07-15
  • 打赏
  • 举报
回复
上网扎扎这个错误
wuyanteng1 2008-07-15
  • 打赏
  • 举报
回复
帮你顶到解决为止
jimmy_jpy 2008-07-15
  • 打赏
  • 举报
回复
关键是数据库能做请不要交给程序来做,建议楼主在sql上面优化下
chinaicm 2008-07-15
  • 打赏
  • 举报
回复
一般这累问题就是采用分页处理,网上有很多分页的存储过程,LZ可以借鉴下.加索引可以增加你的查询速度,很明显的.
s208ping 2008-07-15
  • 打赏
  • 举报
回复
sql语句优化,用索引等等,google
WDFrog 2008-07-15
  • 打赏
  • 举报
回复
StateView 太大了把
用后台程序定时做计算,把计算结果保持到表里,
对表里的记录做分页处理
kyle315 2008-07-15
  • 打赏
  • 举报
回复
说实话,我也想知道。
大正他爹 2008-07-15
  • 打赏
  • 举报
回复
确实太大了,为什么不分批处理呢,
或用软件模式.
加载更多回复(3)
源码下载地址: https://pan.quark.cn/s/8d2c461c797c JavaWeb程序设计构成了掌握Web交互式应用程序开发的核心领域,对于初学者来说,精通这一技术具有决定性意义。在“JavaWeb程序设计(第三版)作业答案”中,我们可以预期获得针对该教材习题的一系列深入解析,从而协助学习者强化知识体系。 JavaWeb所包含的技术组件涵盖了Servlet、JSP(JavaServer Pages)、JDBC(Java Database Connectivity)以及各类框架如Spring MVC、Struts等。Servlet是Java平台提供的一种扩展服务器功能的接口,能够处理HTTP请求并生成相应的反馈。JSP则是一种用于构建动态网页的工具,它支持开发者将HTML代码与Java代码进行整合编写,从而简化了Web应用程序的开发流程。 作业答案通常会涉及以下几个核心内容: 1. **Servlet基础**:可能包含Servlet生命周期、init(), service(), destroy()方法的应用,以及如何在web.xml文件中设定Servlet的映射关系。 2. **JSP基础**:JSP的九大内置对象,如request、response、session、application等的使用,以及EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的实际操作。 3. **HTTP协议理解**:GET和POST请求方法的差异,请求头与响应头的应用,以及会话管理的概念阐释。 4. **JDBC数据库操作**:与数据库建立连接,执行SQL指令,处理查询结果集,以及...
源码链接: https://pan.quark.cn/s/a4b39357ea24 斐讯K2是一款广受用户青睐的无线路由器,其运行表现稳定且具备较高的可操作性,在DIY爱好者群体中拥有极高的声誉。本资料将系统性地阐述斐讯K2的固件刷机方法及其关联的技术要点。固件升级是路由器爱好者改善设备性能、扩展功能的一种普遍手段,经由替换出厂固件,能够达成更加个性化的网络配置、增强安全防护等目标。斐讯K2固件资源库涵盖了多种知名的非官方固件,诸如Tomato Pheonix 不死鸟、高恪、PandoraBox 潘多拉等,这些固件均具备独特的优势,能够适配不同用户的需求。 1. Tomato Pheonix 不死鸟:Tomato是一款立足于Linux的开源固件,以其精巧、高效而备受推崇。不死鸟版本是专门为华硕及斐讯路由器优化的分支,提供了卓越的QoS(服务质)配置、详尽的图表监控以及便捷的固件升级途径。对于那些需要精准调控带宽和监测网络状态的用户而言,这是一个理想的选项。 2. 高恪:高恪固件是OpenWrt的定制化版本,着重于操作的便捷性和运行的可靠性,特别适合对路由器操作不甚熟悉的用户群体。它提供了一些实用的功能,例如内置的广告屏蔽、快速测速工具等,同保留了OpenWrt的适应性。 3. PandoraBox 潘多拉:潘多拉盒是另一款基于OpenWrt的固件,它以丰富的插件库和强大的自定义潜力而闻名。用户能够依据个人需求安装各类插件,实现更多功能,如远程接入、DDNS(动态域名解析服务)等。 4. 官方固件的纯净版本与定制版本:官方固件通常更侧重于稳定性,纯净版意味着未预置额外的应用或服务,适合注重稳定性的用户。定制版则可能包含了制造商的特色功能或优...

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧