我有一个网站,在该网站下有5个文件


test1.aspx
test2.aspx
test3.aspx
test4.aspx
test5.aspx


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

最佳答案

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

假设您的HttpModule的Init函数设置了一个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
    }
}

关于c# - 如何确保不从asp.net中的特定文件调用http模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15492029/

10-09 08:19