我试图解决为什么在对控制器GET方法执行javascript AJAX调用时,我注册的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>
答案 0 :(得分:0)
好的,这有点傻。
我在请求中有一个等待请求正确处理的while循环。
当然这意味着AJAX GET请求方法实际上从未结束,因此没有触发EndRquest事件。
一旦我删除了这个等待循环就会被解雇。
卫生署!
我会在这里回答这个问题,万一其他人正在做同样愚蠢的事情。