Я использую массив сеанса для хранения переменной состояния для моей веб-части ... поэтому у меня есть свойство, подобное этому:
public INode RootNode
{
get
{
return this.Context.Session["RootNode"] as INode;
}
set
{
this.Context.Session["RootNode"] = value as object;
}
}
Это обычно работает нормально.Я обнаружил, что иногда переменная context.session будет нулевой.
Я хотел бы знать, в каких условиях сессия вообще не имеет значения, и каков наилучший способ сохранить мой объект, когда это произойдет?Могу ли я просто назначить новый объект HttpSessionState контексту, или это все испортило?
Редактировать: Хорошо, так что это не просто нулевая сессия ... весь контекст облажался,Когда веб-часть входит в init, с контекстом все в порядке ... но когда она достигает события обратной передачи dropbox selectedindexchange (dropbox содержит идентификаторы узлов для использования для установки переменной rootnode), контекст в основном содержит нулевые свойства.* Кроме того, кажется, что это происходит только при выборе определенных идентификаторов.Это больше похоже на какую-то странную ошибку с моей стороны, чем проблему с моим пониманием сессии.