Today I came across an interesting problem with SSRS and ASP.Net. I usually have all my reports optimized to run quickly, this includes creating snapshots revisiting indexes etc. However for one of my clients the data is huge and we were using OLTP systems so query response times were still not great especially when it came to reporting. I had deployed the reports and then exposed them via report viewer control on a web front end. All the reports expect one would run fine. The report that didn’t run fine showed the Message Loading report for 90 seconds and then the control remains by the report page is empty , no grids no message nothing. I checked the SSRS logs and couldn’t find anything. IIS logs also were difficult to read and didn’t give much help. Event viewer was also not showing any message about where the problem was.
Since the problem kept happening exactly after 90 seconds I knew this was a timeout issue. So the next logical step was to check the IIS timeout for connection as well as script Timeout. I also verified the ping time out and limits properties within the website.
With these values set I tried again and still no luck. The funny thing was that SSRS Reports opened directly within the Report manager URL worked fine. For this reason I thought SSRS was not the issue but since setting IIS timeouts didn’t make any difference I decides to follow the steps in the below link to try and set SSRS timeouts.
The above steps didn’t help either. After goggling different keywords to try and find anybody else who has faced the same issue. I came across the below link which talks about setting the script component AsyncPostbackTimeout within the script components of the webpage which renders the reportviewer control.
The above post is what finally helped me and basically what it means is that IIS timing out the script component and as a result the report viewer control is failing to render. Took me about 2 hours to find out the solution but was well worth it. Hope this helps you if you have a long running report.