HTTP模块和ajax

时间:2011-06-23 15:52:21

标签: c# asp.net ajax

如果我在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的正确方法,那么请让我知道正确的方法是什么样的。

感谢。

2 个答案:

答案 0 :(得分:0)

这是收到请求时触发代码的一种方法。但无论如何,它的效率都会低于每次请求。

如果您编写了一个可以过滤掉特定资源请求的httphanlder,那么它只会在您请求某些文件类型时触发它。

http://support.microsoft.com/kb/307985#2b

答案 1 :(得分:0)

虽然BeginRequest可能不是最合适的,但您的示例是正确的。您可能希望查看可以从HttpModule挂钩的所有事件,然后确定哪个事件符合您的要求。

以下是指向events in ASP.NET 2.0的链接: