我有一个 ac# web 应用程序,它接受用户的请求并通过 RS2005 将 SQL Server 中的数据导出到 Excel。代码如下所示:
ReportExecution2005.ReportExecutionService rsExec = new ReportExecution2005.ReportExecutionService();
// set all params here...
rsExec.Timeout = 1800000; //30 mins
s.Start(); // stopwatch start
result = rsExec.Render(format, null, out extension, out encoding, out mimeType, out warnings, out streamIDs);
s.Stop();// stopwatch stop
问题是,当请求花费超过 2 分钟(模拟我的存储过程中有“等待延迟 '00:04:00'”)时,.Render() 方法在 2 分钟后返回,没有数据。我传入的参数有有效数据,因为当我删除存储过程中的延迟时,数据会返回。但是当我添加延迟时,Render() 方法返回时没有数据。我希望在存储过程延迟后获得全部数据。
我认为这与 Reporting Services 无关,因为当我们创建具有相同数据的订阅时,该报告会根据需要运行并返回数据,因此相同的报告可以正常工作。它不会引发超时异常。它通常会在 2 分 4 秒左右停止工作,并且没有返回数据。有人对此有任何想法吗?
提前致谢。
本