Reputation: 3659
I followed these links:
to display error page to handle uploading files exceeding the maxRequestLength
in web.config
But my problem is, it is not redirected to the error page (the message says that the webpage cannot be displayed ). I do not know what I'm missing.
Here's my Code @ Global.asax
:
void Application_Error(object sender, EventArgs e)
{
if (IsMaxRequestLengthExceeded(Server.GetLastError()))
{
this.Server.ClearError();
this.Server.Transfer("~/Error.html");
}
}
private bool IsMaxRequestLengthExceeded(Exception ex)
{
Exception main;
HttpUnhandledException unhandledEx = (HttpUnhandledException)ex;
if (unhandledEx != null && unhandledEx.ErrorCode == -2147467259)
{
main = unhandledEx.InnerException;
}
else
{
main = unhandledEx;
}
HttpException httpException = (HttpException)main;
if (httpException != null && httpException.ErrorCode == -2147467259)
{
if (httpException.StackTrace.Contains("GetEntireRawContent"))
{
return true;
}
}
return false;
}
And @ web.config
:
<httpRuntime executionTimeout="1200" />
<customErrors defaultRedirect="Error.html" mode="On">
</customErrors>
It found out that when maxRequestLength
was not initialized, it is set by default to 4MB. (I didn't set it because it is not important to me.)
Hope you could help me with this. Thanks
Upvotes: 1
Views: 4859
Reputation: 2372
You can add
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="13" />
<error statusCode="404" subStatusCode="13" prefixLanguageFilePath="" path="http://localhost:1899/ErrorUpload.aspx" responseMode="Redirect" />
</httpErrors>
just after
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="5000000" />
</requestFiltering>
</security>
where you redirect to a Error Page...
Upvotes: 1