首页 新闻 会员 周边

asp.net执行大的数据操作,超时问题

0
悬赏园豆:20 [已解决问题] 解决于 2008-01-29 16:12
<P>asp.net执行大的<FONT color=#ff0000>数据操作</FONT>,比较耗时,经常出现超时time out,操作中断,无返回结果...</P> <P>大家一般怎么处理这种问题?<BR>PS:web.config中设置最大执行时间感觉没什么效果。</P>
chy710的主页 chy710 | 初学一级 | 园豆:167
提问于:2007-12-09 10:16
< >
分享
最佳答案
0
设计问题,你要找到为什么会页面会执行这么久,如果确实需要执行很久的话,可以把调用做成异步的,然后客户端再发送轮询判断调用执行结果是否成功以及来取执行结果。
蛙蛙王子 | 菜鸟二级 |园豆:265 | 2007-12-09 11:03
其他回答(8)
0
web.config中的time out是用来设定客户端访问web server的,如果你的超时是app server访问database超时的话,应该在sql 中设置超时时间。 不过关键问题是你做什么操作会如此耗时? 找到问题所在,看有没有性能优化的余地,如没有就改进处理方式,比如异步、操作部分数据等。
Zealot | 园豆:265 (菜鸟二级) | 2007-12-09 23:16
0
恩,蛙蛙池塘说得有道理 先看有没有必要做这么大的数据操作,再看哪一步骤需要提升性能 程序-》数据库(冗余,索引,物化视图)-》数据库,中间件参数
Eric Luo | 园豆:205 (菜鸟二级) | 2007-12-10 17:32
0
1 程序算法上耗时:如死循环之类的 2 数据库查询上的耗时:可通过在条件或者排序列加上主键、索引、组合索引等。 程序上的耗时检查,可断开数据库操作,然后再执行,看看是否还是耗时,如果不是,则重点检查数据库耗时,具体的可用SQL自带的事件跟踪来检查耗时的SQL句,然后针对相关SQL句子优化~。。。
没剑 | 园豆:430 (菜鸟二级) | 2007-12-10 21:00
0
楼主的状况我见过,建议写一个控制台程序来处理数据,而不是用ASP.NET页面来做 如果非要这样的话,超时的时间可以在IIS的设置里面改 还有一种常见的办法,就是一次只处理10%的数据,然后显示一个submit按钮,按下后可以再处理10%的数据
魔都KK | 园豆:340 (菜鸟二级) | 2007-12-11 13:01
0
IIS控制台中有ASP.NET超时的设置,在一个很隐蔽的角落里。好象是: 站点属性->主目录->配置->ASP.net 超时设置 没做过,胡乱猜。我记得Windows安装中有一个可选组件,好像叫MataEditor的可以用来修改很多IIS控制台GUI中没有的配置。
Colin Han | 园豆:3041 (老鸟四级) | 2007-12-11 20:41
0
IIS的程序池里面可以配置程序的超时时间,不过最好还是分段执行比较好.
沙加 | 园豆:3680 (老鸟四级) | 2007-12-14 18:01
0
页面执行的时间如果太长,那就是设计的问题,不像win,你说的数据操作,那就是数据库操作了,那应该是数据库设计的问题了,看看存储过程是不是有问题,通俗的说,页面的程序操作就是一个发数据和等待数据的操作,如果超时,那你再怎么设置时间也解决不了问题,因为还是慢啊. PS: 上传文件除外,上传文件有上传文件的解决办法 :)
zjy | 园豆:3194 (老鸟四级) | 2007-12-16 17:05
0
我也遇到同样的问题,请高手指点 比方后台循环发送邮件,每次发几百万个用户各自不同的内容都要用到数据库
ytzong | 园豆:205 (菜鸟二级) | 2007-12-29 13:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册