Мы установили фиксированный лимит на размер файлов для загрузки на нашем сайте - ниже размера по умолчанию для asp.net и настройки iis.
У меня есть простая настройка перехвата в Application_BeginRequest, которая ловит это (это не excat, поскольку он проверяет ContentLength, включая все другие данные формы, но это достаточно хорошо).
Я хочу либо возобновить обработку страницы, на которую пытался загрузить пользователь, либо в качестве запасного плана перенаправить пользователя на страницу, объяснив, что размер файла был слишком большим (у нас уже есть подзаголовок, объясняющий это, но вы знаете пользователей - ' им не нужно читать никаких вонючих субтитров ».
Так в чем же проблема? Что ж, похоже, что мой Ответ уже был отправлен пользователю - 404, объясняющий, что страница не может быть найдена. Я не хочу такого поведения, я хочу сбросить этот ответ, так как это не тот, который я хочу, чтобы пользователь видел - я хочу показать что-то другое - создать свой собственный ответ, перенаправить или просто обработать страницу, которую он должен был получить в любом случае.
Я думаю, что проблема все еще в том, что IIS отклоняет запрос / публикацию, поскольку файл больше, чем того требует IIS. Я действительно это копаю - сумасшедшему пользователю, пытающемуся загрузить 20-миллиметровую картинку, нельзя позволять делать IIS на коленях, но так ли это? Или я получу шанс перехватить этот ответ для пользователя - вместо того, чтобы увеличить максимальный размер IIS и, следовательно, тратить полосу пропускания на получение этого файла, я просто хочу идентифицировать этот пост как «слишком большой» и посылать соответствующий ответ назад к пользователю.