2009-03-18 7 views
5

У меня есть HttpModule, который привязал обработчик события к EndRequest.Может ли запрос обрабатываться и заканчиваться досрочно, в начале трубопровода?

Есть ли способ обработать запрос внутри обработчика событий? Смысл, я не просто хочу запускать код и держать запрос движением - я хочу остановить его мертвым на своих дорожках, вернуть код состояния 200 и называть его днем, без его запроса продолжить следующий шаг в трубопровод.

ответ

6

HttpContext.Current.ApplicationInstance.CompleteRequest();

Documentation

+0

Это выглядит интересно, но это убивает запрос полностью? Я вижу, что ti просто пропускает остальную часть конвейера и идет прямо в EndRequest. Тем не менее, это то, где я уже нахожусь (это событие, которое я связал с моим обработчиком), и разве он не должен давать ответ? – Deane

+0

Это закончит дальнейшую обработку запроса. Ваш обработчик не является единственным обработчиком в конвейере, поэтому это отменит дальнейшую обработку других обработчиков после вашего ответа и немедленно отправит ответ клиенту. –