powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обработка исключения Maximum request length exceeded
4 сообщений из 4, страница 1 из 1
Обработка исключения Maximum request length exceeded
    #38247460
goodw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Возникла такая ситуация:

Испольую AJAX File Upload на JS, заливаю файл. На клиенте проверяю размер файла на максимально допустимый и не пропускаю.
Однако в IE с этим могут быть проблемы (из-за настроек безопасности, версии и т.д.) и файлу удается прорваться на сервер.

Пробовал вот так:

<customErrors mode="On" defaultRedirect="ErrorPage.aspx">
<error statusCode="413" redirect="UploadError.aspx" />
</customErrors>

Однако в студии все равно вызывается исключение и редиректа не происходит.


Пробовал перехватывать в global.asax:

1. Через Application_BeginRequest
2. Через Application_Error

В студии все равно исключение вызывается.

Как быть? Куда копать?
...
Рейтинг: 0 / 0
Обработка исключения Maximum request length exceeded
    #38247512
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из-под аякса редирект не получится, потому что он потому и аякс, что без перезагрузки страницы работает.
...
Рейтинг: 0 / 0
Обработка исключения Maximum request length exceeded
    #38247562
goodw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

тоесть насколько я понимаю, редирект для всех остальных случаев сработал бы, а для данного случая нет, потому что был отправлен AJAX-запрос? А какая для веб-сервера или для приложения разница AJAX у меня или не AJAX?

Еще пытался перехватывать ошибку так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
protected void Application_Error()
    {
        HttpException h = Server.GetLastError() as HttpException;

        if (h != null && h.WebEventCode == WebEventCodes.RuntimeErrorPostTooLarge)
        {
            try
            {
                Server.ClearError();
                Response.Write(h.Message);

            }
            catch
            {
            }
        }
    }




или вот так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
private void GlobalBeginRequest(object sender, EventArgs e)
        {
            var runTime = (HttpRuntimeSection)WebConfigurationManager.GetSection("system.web/httpRuntime");
            var maxRequestLength = runTime.MaxRequestLength * 1024;            
 
            if (Request.ContentLength > maxRequestLength)
            {             
                try{
                Response.Redirect(url, false);
                }
                catch{
                }
            }
        }




В студии исключение все равно вызывается.
...
Рейтинг: 0 / 0
Обработка исключения Maximum request length exceeded
    #38247605
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodw...А какая для веб-сервера или для приложения разница AJAX у меня или не AJAX? ...
Для сервера никакой разницы нет, но редирект делает браузер, когда в вашем респонсе с сервера, при загрузке страницы , встречает первую (и единственную) строку Location:Ваш урл\r\n\r\n (обычно, это и делает редирект).
Извините, если повторяю азбучную информацию.
ПС. Кстати, аплоад файлов яваскриптом напрямую невозможен. Имеются некоторые штучки в хтмл5 (типа вэб-сокетов), но сами же вспомнили про ИЕ. Иногда делают через незаметные ифреймы, флеш, и т.д. .
Короче, это - препарат с очень плохими побочным эффектом. Так что, лучше забейте.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обработка исключения Maximum request length exceeded
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]