ReportExecution2005.ReportExecutio nService.Render() returns with no data after about 2 minutes
I have a c# web app that takes a request from the user and exports data in SQL Server to Excel via RS2005. The code looks like this:
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
The problem is that when the request takes more than 2 minutes (to simulate I have a "waitfor delay '00:04:00'" in my stored proc) the .Rencer() method returns after 2 minutes with
no data. There is valid data for the params I'm passing in, and when I remove the delay in the stored proc the data is returned. But when I add the delay the Render() method returns with no data.
I've read in other posts about the "DatabaseQueryTimeout" in rsreportserver.config. I've tried setting that to 9 seconds then 300 seconds to see if it fixes the problem and no luck -- in both cases I still get a response almost exactly at 2 minutes and no
data returned.
Is there another 120 second timeout somewhere that I'm missing? And, why doesn't RS take my DatabaseQueryTimeout settings of 9 seconds and 300 seconds? I know that the timeouts are checked every 60 seconds, but even then I should see a timeout at 60
seconds and not 2 minutes. What am I missing?
Thanks in advance.
Ben
June 6th, 2012 5:21pm
Found my problem. Turns out that RS.Render() was calling a web service that itself had several timeouts associated with it. It was returning because a timeout was thrown from the service call, but it doesn't know how to pass the exception along, so no data
was returned, and no exception.
Though the timeout was not in the rsreportserver.config file, but it would be nice to know what those entries mean and how they're used. Another time I guess.
Free Windows Admin Tool Kit Click here and download it now
June 8th, 2012 3:23pm