Click here to Skip to main content
15,895,746 members
Articles / Web Development / ASP.NET

Solution of Error "PageRequestManagerTimeoutException" using DNN Framework

Rate me:
Please Sign up or sign in to vote.
4.75/5 (9 votes)
13 Jan 2010CPOL 80K   5   6
Solution of Error "PageRequestManagerTimeoutException" using DNN Framework

Introduction

Recently, I encountered a weird problem. A method invoked a stored procedure that expends more than 90 seconds, and the button which invokes that method is inside an updatepanel. The error message is "SysWebForms.PageRequestManagerTimeoutException: The server request timed out."

outtime.jpg

Background

After doing a search on the internet, I found it is caused by the property AsyncPostBackTimeout of ScriptManager. It has an integer value that represents the time-out in seconds. The default value of the AsyncPostBackTimeOut property is 90 seconds. But my procedure will last for 200 seconds.

Solution One

Most articles suggested adding the property-value likes "AsyncPostBackTimeout=360000" in the ASPX control.

Example:

ASP.NET
<asp:ScriptManager ID= "ScriptManager1 " 
	AsyncPostBackTimeOut= "360000 " runat= "server " />

Solution Two

But recently I am using the DNN framework. If using "AJAX.RegisterScriptManager()", there shouldn't be any ScriptManager control that exists in the DNN module file. But we can get the current registered ScriptManager object and set the AsyncPostBackTimeout property, or use the SetScriptManagerProperty() method through the following steps.

Example:

C#
if (AJAX.IsInstalled())
{
    AJAX.RegisterScriptManager();
    ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
    scriptManager.AsyncPostBackTimeout = 360000;
}

OR: use the SetScriptManagerProperty method in DotNetNuke.Framework.AJAX class.

Example:

C#
if (AJAX.IsInstalled())
{
    AJAX.RegisterScriptManager();
    AJAX.SetScriptManagerProperty(this.Page, "AsyncPostBackTimeout", 
	new Object[] { 360000 });
}

Solution Three

Actually, we can hide this problem of "PageRequestManagerTimeoutException" by adding the below JavaScript. But it is not recommended.

Example:

C#
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args)
{
  if (args.get_error() != undefined)
   {
       else if(args.get_error().name === 
		'Sys.WebForms.PageRequestManagerTimeoutException')
       {
            args.set_errorHandled(true);
       }
       else
       {
           // not this kind of error so let the default behavior happen.
       }
   }
}

History

  • 13th January, 2010: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer E5 Systems
China China
I am currently a Programmer/Analyst working at E5 Systems, and had been engaged in software outsourcing industry for two years. I have strong interest and passion in software architecture and web application security fields. I am proficient in Java and C#.

My Blog: http://blog.bigcay.com/

Comments and Discussions

 
QuestionVery helpful after a long search Pin
Nallathambis1-Jun-16 23:47
Nallathambis1-Jun-16 23:47 
My code runs very long time in DataBase and so it exceeded the time. My page throws error in 90 seconds.
Then i saw an article in "" [^]

and find a sentence about 90 seconds timeout. Then i get into this solution(One).
GeneralVery helpful Pin
Entong Sofyanzyah15-Nov-15 18:38
Entong Sofyanzyah15-Nov-15 18:38 
QuestionSolución Directa Pin
Venegas.Michael12-Oct-15 9:04
Venegas.Michael12-Oct-15 9:04 
GeneralMy vote of 5 Pin
shustov8714-Aug-14 5:03
shustov8714-Aug-14 5:03 
QuestionNice Solution Pin
Member 249822113-Sep-12 3:39
Member 249822113-Sep-12 3:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.