Я перешел по этим ссылкам:
- Поймать "Превышена максимальная длина запроса" и
- ASP.NET - как отобразить страницу с ошибкойпри загрузке большого файла (превышена максимальная длина запроса)?
для отображения страницы с ошибкой при обработке загрузки файлов, превышающей maxRequestLength
в web.config
Но моя проблема заключается в, он не перенаправляется на страницу ошибки (в сообщении говорится, что веб-страница не может быть отображена).Я не знаю, что мне не хватает.
Вот мой код @ 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;
}
И @ web.config
:
<httpRuntime executionTimeout="1200" />
<customErrors defaultRedirect="Error.html" mode="On">
</customErrors>
Найденоиз-за того, что maxRequestLength
не было инициализировано, оно по умолчанию установлено в 4 МБ.(Я не установил это, потому что это не важно для меня.)
Надеюсь, вы могли бы помочь мне с этим.Спасибо