HttpModule では、次のように Item を Context に配置します。
HttpContext.Current.Items.Add("MyKey", "Hello world!");
このコードのすぐ下 (まだモジュール内) で、コレクションからこの文字列を取得できるので、追加されたことがわかります。
実際のハンドラー (Web フォーム -- .aspx) に早送りします。私はこのアイテムを取り戻そうとします:
string myString = HttpContext.Current.Items["MyKey"].ToString();
悲しいことに、それは NULL です -- アイテムはそこにありません。
コレクションをスピンし、ハンドラーに到達するまでに、Items コレクションには 2 つのキーがあります。
- AspSession
- AspSessionIDManagerInitializeRequestCalled
モジュールに Item を設定したら、RewritePath を呼び出します。それが何か関係があるかどうかはわかりません。