SharePoint web part page hosting ReportViewer web part fails with Sys.WebForms.PageRequestManagerTimeoutException: The server request timed out

Have you ever run in to a scenario where you’ve Reporting service in SharePoint integrated mode. You’ve a web part page that hosts the Report Viewer web part that comes with the Reporting services Add-in.

The report takes more than 90 seconds to complete the rendering.

Under this circumstances, You open the web part page just to ensure the report renders successfully. Everything starts fine and the small green icon "Loading...." is shown in the screen.

All of the sudden, to your surprise you find your web part page suddenly stopped and just displays a blank page. You see a JavaScript error message on the screen or a small yellow triangle in the IE status bar with the message Done and there is no rendered report displayed as per your request.

 

When you look in to the message (Yellow triangle), it shows the error message similar to the following,

Message: Sys.WebForms.PageRequestManagerTimeoutException: The server request timed out.

The above error in the browser is caused because of the ScriptManager's AsyncPostbackTimeout. By default it is 90 seconds.

https://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.asyncpostbacktimeout.aspx

So, all you need to do is, locate the ScriptManager element in the master page file that is being used by your site that hosts the web part page and change the timeout value to 0 meaning "Do not timeout".

How to find the Master page used by the site?

Pretty simple. Open your SharePoint 2010 / 2013 Management shell (If UAC is enabled, please open it by right clicking and selecting “as Run as Administrator”).

Once the Management shell initializes itself, run the following PowerShell command:

$web = Get-SPWeb https://yoursiteURL

$web.MasterUrl

Now this will actually give you the master page being used by the site.

In my case it was,

/_catalogs/masterpage/seattle.master

Now, all I had to do was, open the web part page in edit mode using SharePoint Designer (If not installed, please download it as comes free of cost).

Click on the Master Pages sections in the left hand side, Click on the seatle.master page (Or whatever being used in your site) from the Right hand side display and click on Edit file option under Customization.

image

 

Now you’ll be in the HTML view of the same file. Search for ScriptManager in that page and add AsyncPostBackTimeout="0" as shown below .

<asp:ScriptManager id="ScriptManager" runat="server" EnablePageMethods="false" EnablePartialRendering="true" AsyncPostBackTimeout="0" EnableScriptGlobalization="false" EnableScriptLocalization="true" />

image

Save and close the SharePoint designer.

Now view the web part page and you would see the rendered report now. Doesn’t it help you

HTH!

Selva.

[All the posts are AS-IS and with no warranty]