2016-07-19 8 views
0

コントローラのGETメソッドへのjavascript AJAX呼び出しを実行すると、登録されたIHttpModuleがイベント、特にEndRequestメソッドを起動しない理由を理解しようとしています。このイベントは、JQuery AJAX呼び出しを使用して初めてページに標準的なGETリクエストがあったときに正しく起動されます。IHttpModule EndRequestがコントローラメソッドへのAJAX呼び出し中に起動しない

誰にでも洞察を提供できますか?

$.ajax({ 
     type: 'GET', 
     dataType: "json", 
     url: /controller/action, 
     success: function (data) { 
       //do stuff 
      } 
     }, 
     error: function() { 

     } 
    }); 

をそして、私のコントローラはSystem.Web.Mvc.Controllerから継承次のように

私のjavascriptが見えます。

は私の設定では、私はそうのようなモジュールを登録している:それは少し愚かだった

<system.webServer> 

    <modules runAllManagedModulesForAllRequests="true" > 
    <add name="MyWebModule" type="MyWebModule"/> 
    </modules> 
.... 
<httpModules> 
    <add name="MyWebModule" type="MyWebModule"/> 
    </httpModules> 
<system.web> 

答えて

0

OKようにします。

要求の処理が正常に行われるのを待っているリクエストにwhileループがありました。

もちろん、これはAJAX GETリクエストメソッドが決して実際に終了しなかったため、EndRquestイベントが発生しなかったことを意味します。

この待機ループを削除すると、そのループが終了しました。

Doh!

誰か他の人が同じように愚かなことをしている場合に備えて、私はこれをここでお答えします。

関連する問題