1

私は5つのファイルを持っているウェブサイトを持っています

  1. test1.aspx
  2. test2.aspx
  3. test3.aspx
  4. test4.aspx
  5. test5.aspx

すべてのページで呼び出されるhttpモジュールがありますが、test5.aspxページでhttpモジュールを呼び出さないという条件があります。問題を解決するには、どのような設定を行う必要がありますか?

4

1 に答える 1

7

HttpModuleはページのライフサイクルの前に実行されるため、リクエストパスで一致させる必要があります。

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
    }
}
于 2013-03-19T05:32:55.667 に答える