Я разместил решение здесь: Где я могу перехватить и обработать превышение maxAllowedContentLength в IIS7?
Мое решение заключается в переопределении обработчика страницы OnError, и я думаю, что он работает только в .NET4.0, поскольку включает получение последнего исключения в виде HttpException и проверку свойства WebEventCode, которое, по-видимому, является новым в платформе .NET 4.0.
Существует еще одно решение, включающее перехват глобального обработчика приложения Application_EndRequest,где доступны оба значения свойств StatusCode и SubStatusCode, но я не думаю, что это работает, потому что ответ, вероятно, уже был сброшен клиенту к моменту возникновения события EndRequest.
Из моего опыта,оба метода OnError и Application_EndRequest запускаются практически сразу, задолго до того, как сервер мог получить весь запрос, поэтому он может быть запущен в результате раннего предупреждения о размере запроса.
Я протестировал метод OnError, и он работает безупречно, за исключением неизбежной задержки, когда браузер настаивает на завершении загрузки своего запроса перед обработкой и отображением ответа сервера.
Информация о кодах веб-событий может бытьнашел здесь - http://msdn.microsoft.com/en-us/library/ff650306.aspx