Максимальная длина запроса превышена Не перенаправляется на страницу ошибки

Я следил за этими ссылками:

  1. Ловля "Максимальная длина запроса превышена" и
  2. 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 МБ. (Я не установил его, потому что это не важно для меня.)

Надеюсь, ты сможешь мне помочь. благодаря

+1
21 июл. '11 в 8:39
источник поделиться
2 ответа

Я смог найти другой способ решения ошибки maxRequestLength. Я нашел его в этой ссылке:

Решение было опубликовано в качестве комментария Ракеша Кумара Роя (Post Details: Friday, February 13, 2009 1:43 PM). Это может быть полезно для других программистов. : D

+1
22 июл. '11 в 3:24
источник

Связанные вопросы


Похожие вопросы

Можете добавить

 <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>

сразу после

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="5000000" />
  </requestFiltering>
</security>

где вы перенаправляете страницу ошибки...

0
05 апр. '16 в 23:55
источник

Посмотрите другие вопросы по меткам или Задайте вопрос