2016-07-19 1 views
0

Я пытаюсь выяснить, почему при выполнении вызова JAJAX к методу GET контроллера мой зарегистрированный объект IHttpModule не запускает его события, в частности метод EndRequest. Это событие срабатывает корректно, когда в первый раз появляется стандартный запрос GET, но не тогда, когда я делаю это с помощью вызова JQuery AJAX.IHttpModule EndRequest не срабатывает при вызове 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> 

ответ

0

ОК, так что было немного глупо.

У меня был цикл while в запросе, который ожидал, что запрос обработает правильно.

Конечно, это означало, что метод запроса AJAX GET никогда не заканчивался и, следовательно, не происходило событие EndRquest.

Как только я удалил этот цикл ожидания, он выстрелил.

Doh!

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