В HttpModule я помещаю элемент в контекст, как это:
HttpContext.Current.Items.Add("MyKey", "Hello world!");
Непосредственно под этим кодом (все еще внутри модуля) я могу извлечь эту строку из коллекции, поэтому я знаю, что она была добавлена.
Перенесемся в мой фактический обработчик (веб-форма - .aspx). Я пытаюсь вернуть этот предмет:
string myString = HttpContext.Current.Items["MyKey"].ToString();
К сожалению, это NULL - предмета там нет.
Я развернул коллекцию, и к тому времени, когда она попадает в мой обработчик, коллекция Items имеет два ключа:
- AspSession
- AspSessionIDManagerInitializeRequestCalled
После того, как я установил Item в модуле, я вызываю RewritePath. Не уверен, что это как-то связано с этим.