1

我有一个网站,下面有 5 个文件

  1. 测试1.aspx
  2. 测试2.aspx
  3. 测试3.aspx
  4. 测试4.aspx
  5. 测试5.aspx

我有一个在所有页面中都被调用的 http 模块,但是我有一个条件,在 test5.aspx 页面上我不希望调用 http 模块需要进行哪些设置才能解决问题?

4

1 回答 1

7

HttpModules 在您的页面生命周期之前运行,因此您必须在请求路径上匹配它。

假设您的 HttpModuleInit函数设置了一个BeforeRequest处理程序,例如:

public class MyModule : IHttpModule
{
    public void Init(HttpApplication application)
    {
        application.BeginRequest += this.BeginRequest;
    }

    public void BeginRequest(object sender, EventArgs e)
    {
        var app = sender as HttpApplication;
        if (app.Request.Path.Contains("test5.aspx")) {
            return;
        }

        // Process logic for other pages here
    }
}
于 2013-03-19T05:32:55.667 回答