I have this exception:
Server Error in '/datalab' Application.
Request timed out.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: Request timed out.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[HttpException (0x80004005): Request timed out.]
But I added a Global.asax file to my /datalab and /datalab/powerstats directories (the datalab directory is the root while the page being timed out is datalab/powerstats/output.aspx):
<%@ Application Language="C#" %>
<script runat="server">
void Application_Error(object sender, EventArgs e)
{
Exception exc = Server.GetLastError();
// Handle HTTP errors
if (exc.GetType() == typeof(HttpException))
{
Response.Write("<h2>Global Page Error</h2>\n");
// The Complete Error Handling Example generates
// some errors using URLs with "NoCatch" in them;
// ignore these here to simulate what would happen
// if a global.asax handler were not implemented.
if (exc.Message.Contains("NoCatch") || exc.Message.Contains("maxUrlLength"))
return;
//Redirect HTTP errors to HttpError page
//Server.Transfer("HttpErrorPage.aspx");
return;
}
}
</script>
How do I catch this exception? Why isn’t it being caought?
The
Application_Errorevent is called when an unhandled exception occurs.You can’t then go back and change the response as an Internal Server Error 500 response has already been sent to the client.
The answer to your problem is to fix the reason for the timeout, or to increase the timeout period programmatically. To do this in the web.config try adding:
See http://msdn.microsoft.com/en-us/library/e1f13641(v=vs.71).aspx