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!

Я отвечу здесь на всякий случай, если кто-то еще делает что-то столь же глупое.

Другие вопросы по тегам