IHttpModule EndRequest не запускается во время вызова AJAX для метода контроллера
Я пытаюсь понять, почему при выполнении вызова AJAX JavaScript для метода GET контроллера мой зарегистрированный IHttpModule не запускает свои события, в частности метод EndRequest. Это событие срабатывает правильно, когда на страницу в первый раз поступает стандартный запрос GET, но не тогда, когда я делаю это через вызов JQuery AJAX.
Кто-нибудь может предложить какие-либо идеи здесь?
Мой JavaScript выглядит следующим образом:
$.ajax({
type: 'GET',
dataType: "json",
url: /controller/action,
success: function (data) {
//do stuff
}
},
error: function () {
}
});
И мой контроллер наследует от System.Web.Mvc.Controller.
В моем конфиге я зарегистрировал модуль так:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" >
<add name="MyWebModule" type="MyWebModule"/>
</modules>
....
<httpModules>
<add name="MyWebModule" type="MyWebModule"/>
</httpModules>
<system.web>
1 ответ
ОК, так что это было немного глупо.
У меня был цикл while в запросе, который ожидал правильной обработки запроса.
Конечно, это означало, что метод запроса AJAX GET никогда не заканчивался, и, следовательно, не было инициированного события EndRquest.
Как только я удалил этот цикл ожидания, он сработал.
Doh!
Я отвечу здесь на всякий случай, если кто-то еще делает что-то столь же глупое.