Blank SSRS report caused by ScriptManager timeout

I was testing a fairly complex and long running report for SQL Server Reporting Services, but the results were blank when using the Report Viewer component.

 

Status in the ExecutionLog* views was rsSuccess in the ReportServer database.

 

The ReportServerService*.log showed no errors, only this:

library!ReportServer_0-1!a78!09/23/2016-11:19:31:: i INFO: RenderForNewSession('/Test report')
webserver!ReportServer_0-1!a78!09/23/2016-11:21:59:: i INFO: Processed report. Report='/Test report', Stream=''

 

I used procdump to log exception messages from the IIS worker process with:

procdump.exe -f "" -l -e 1 w3wp.exe

Part of the result was:

[11:21:01] Exception: E0434F4D.System.Net.WebException ("The request was aborted: The request was canceled.")
[11:21:01] Exception: E0434F4D.System.Net.WebException ("The request was aborted: The request was canceled.")
[11:21:01] Exception: E0434F4D.Microsoft.Reporting.WebForms.ReportServerException ("The operation was canceled.")
[11:21:01] Exception: E0434F4D.Microsoft.Reporting.WebForms.ReportServerException ("The operation was canceled.")

 

So the request was actively getting cancelled.

This definitely seemed like a timeout issue, but which timeout setting was causing the problem?

 

Checked the default value for ReportViewer.ServerReport.Timeout, which was 600 seconds.

 

Then I googled for: ReportServerException (“The operation was canceled.”)

And found a solution here: Report Viewer Control returns OperationCanceledException OnError event after 90 seconds

 

The solution was to modify the .aspx page with the ReportViewer control:

From:

<asp:ScriptManager ID="ScriptManager1" runat="server">

To:

<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="600">