Я искал SO и нашел этот вопрос , но это не совсем то, что я спрашиваю. Мне интересно, можно ли создать модуль IHttpModule, который может проверять ContentLength запроса, и если это так, либо перенаправить, либо каким-то образом выбросить этот запрос и создать новый.
В частности, я пытаюсь обработать загрузку файлов изображений, но я бы хотел, чтобы запрос продолжался на странице загрузки с некоторым предупреждением, а не с плоской ошибкой. У меня есть этот кусок кода, который получает большой запрос:
private void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
if (context.Request.ContentLength > (4 * 1024 * 1024))
{
}
}
Путь выполнения входит в этот блок IF, как я хочу. Но отсюда я не совсем уверен, куда идти. Это плохой подход?
Редактировать: как есть (без этого модуля), Fiddler сообщает, что IIS возвращает код 500. Я хотел бы избежать этого и заставить код возвращать 200 с запрошенной страницы, просто с предупреждением, как я сказал.