一个容易被忽略的ReportingService超时问题

我们在使用Sql Server Reporting Service开发报表的时候,经常会遇到报表超时的问题,报表超时的原因有很多,也有很多地方可以设置报表的超时时间,比如在报表中的数据源(datasource)上可以设置数据库连接的超时时间,在报表中的数据集(dataset)上可以设置执行查询语句的超时时间,在ASP.NET页面中的报表控件ReportViewer上也可以设置等待超时时间,除了前面说的三种超时时间还有一个超时时间很容易被忽略,那就是ASP.NET页面上ScriptManager控件的超时时间。因为ReportViewer在访问远程服务器报表的时候是通过ScriptManager控件发送Ajax请求来获取报表数据的,所以在使用ReportViewer控件的ASP.NET WebForm页面上都要求再放一个ScriptManager控件也就是这个原因。

 

ScriptManager控件默认的超时时间是90秒,所以当有一张报表在报表服务器上的处理时间超过90秒后客户端页面上就会报一个javascript的等待超时错误。我们可以设置ScriptManager控件的AsyncPostBackTimeout属性值来更改这个默认超时时间,该属性的单位是秒。下面两个截图分别显示用C#代码和ASP.NET页面控件标签来设置ScriptManager控件的AsyncPostBackTimeout属性为900秒:

通过C#代码设置:

通过ASP.NET页面控件标签设置:

 

转载于:https://www.cnblogs.com/OpenCoder/p/5016539.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值