HttpHandler не обрабатывается, когда обрабатывается его связанный HttpModule - PullRequest
1 голос
/ 20 февраля 2009

В нашем приложении asp.net 2.0 у нас есть HttpModule и HttpHandler. Они зарегистрированы в web.config для обработки запросов для определенных типов файлов. Запрос инициируется асинхронно со стороны клиента с использованием MS AJAX. Я заметил что-то странное: HttpHandler: ProcessRequest не вводится в каждый HttpModule: EndRequest, что кажется неправильным поведением, так как я понимаю поток событий: HttpModule: BeginRequest> HttpHandler: ProcessRequest> HttpModule: EndRequest. По какой-то причине часть обработчика иногда пропускается. Что может быть причиной этого?

Ответы [ 3 ]

1 голос
/ 20 февраля 2009

Если я правильно понимаю, HttpModule будет выполняться для каждого запроса, поступающего в ваше приложение, тогда как HttpHandler будет выполняться только для зарегистрированного расширения.

Таким образом, к приложению могут быть и другие запросы, кроме тех, которые вы делаете вашему обработчику.

1 голос
/ 20 февраля 2009

У вас есть этот тип файла, настроенный в IIS для обработки .net?

0 голосов
/ 20 февраля 2009

Я считаю, что вызовы Server.Transfer и Response.End могут привести к короткому замыканию конвейера. Возможно ли, что ветвь вашей логики делает это?

...