Visual C# .NET を使用して ASP.NET HTTP モジュールを作成する方法に、ASP.NETでhttpモジュールクラスを自作する方法が書かれている。
ポイントだけ書くと、以下のようになる。
- IHttpModule インタフェースを実装する
- HttpApplication から購読するイベントを選択
- Init メソッド内で、そのイベントのハンドラを登録する
public void Init(HttpApplication app) { app.BeginRequest += new EventHandler(OnBeginRequest); }
ここで、Init メソッドで受け取る HttpApplication のインスタンスは、ASP.NETでマネージされているもの。
そして HttpApplication 内の BeginRequest などのイベントも ASP.NET 側から発生されるものになる。
困ったことに、IHttpModuleインタフェースがこの HttpApplication という具体クラスに依存しちまってるんで、テストどうしましょうね、という話。
続きを読む