如果我在web.config文件中添加HTTP模块,如下所示:
<httpModules>
<add name="TheName" type="MyModule"/>
</httpModules>
如果我这样写它会解雇它的代码:
public void Init(HttpApplication TheApp)
{
TheApp.BeginRequest += new EventHandler(MyCode);
}
当我从jquery调用静态页面方法时,如下所示:
$.ajax({
type: "POST",
url: "../Pages/AnyPage.aspx/AnyPageMethod",
......
如果当ajax请求进入时,这不是解雇MyCode的正确方法,那么请让我知道正确的方法是什么样的。
感谢。
答案 0 :(得分:0)
这是收到请求时触发代码的一种方法。但无论如何,它的效率都会低于每次请求。
如果您编写了一个可以过滤掉特定资源请求的httphanlder,那么它只会在您请求某些文件类型时触发它。
答案 1 :(得分:0)
虽然BeginRequest可能不是最合适的,但您的示例是正确的。您可能希望查看可以从HttpModule挂钩的所有事件,然后确定哪个事件符合您的要求。
以下是指向events in ASP.NET 2.0的链接: