LoginSignup
0
1

More than 5 years have passed since last update.

HTTPModule の作り方

Last updated at Posted at 2017-09-20

MicrosoftのIIS上のHttpModuleを作るときの注意点をいくつか。

基本的には、以下のWebサイトで全てだけど、自分用のメモ的位置づけ


参考


ISAPIとの比較

多分、以下のような対応関係がイメージしやすいかもしれない
- ISAPIフィルタとHttpModule
- ISAPI拡張とHttpHandler

ただし、ワイルドカードHttpHandleとかもあるから、1:1対応とはいえないかもしれない。


作成から登録までの基本的な流れ

  • system.web.dllに含まれているSystem.Web.IHttpModuleインターフェイスを継承してDLLを作る
  • イベントドリブンな普通のWindowsFormアプリケーションを作るような感覚で C# でコーディングできる
  • Webアプリケーション(IISマネージャで設定する)配下の「bin」というディレクトリにdllを配置する
  • アプリケーションプールと同じ.NET FrameworkのバージョンでコンパイルしたDLL(HttpModuleをコンパイルしたDLL)でないと動作しないよ
  • IISマネージャのGUIの一覧には出てこないかもしれない
  • web.configのaddタグは、system.web→httpModulesタグでもsystem.webserver→modulesタグでも一緒だと思うけど、こちらの書式が、「<add type=”[COM+ Class], [Assembly]” name=”[ModuleName]” />」
  • COM+ Class というのは、名前空間から始まってクラス名まで。(つまり、クラスのフルパスだな)
  • Assembly というのは、dllのファイル名(dllという拡張子は除く)
  • ModuleName は任意だと思うぞ

実行ユーザ名

System.Environment.UserName の結果(EndRequestイベント)は、アプリケーションプールの「全般」の「名前」でした。(.NET4 の場合は「ASP.NET v4.0」)

この人誰?

System.Security.Principal.WindowsPrincipal で、System.Security.Principal.WinsdowsPrincipal.WindowsBuiltInRoleの「User」「Administrator」「Guest」は、いずれもFalseでした。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1