Может быть, вы могли бы изменить парадигму ... Возможно, вы можете использовать другое свойство класса HttpContext
, более конкретно HttpContext.Current.Items
, как показано ниже:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
HttpContext.Current.Items["__MySessionVariable"] = new object();
}
Оно не будет сохранено всеанс, но он будет храниться в словаре Items класса HttpContext и будет доступен на время этого конкретного запроса .Так как вы устанавливаете его при каждом запросе, было бы более разумно сохранить его в словаре «за сессию», который, кстати, и является тем, что представляет собой «Предметы».: -)
Извините, что пытаюсь вывести ваши требования вместо того, чтобы прямо отвечать на ваш вопрос, но я сталкивался с этой же проблемой раньше и заметил, что мне нужна была не сессия, а свойство Items вместо.