我一直在使用會話陣列來存儲我的WebPart狀態變量...所以我有這樣的特性:的WebPart context.session爲空
public INode RootNode
{
get
{
return this.Context.Session["RootNode"] as INode;
}
set
{
this.Context.Session["RootNode"] = value as object;
}
}
這通常工作正常。我發現有時,context.session變量將爲空。
我想知道會導致會話爲空的條件是什麼,以及在發生這種情況時堅持我的對象的最佳方式是什麼?我是否可以爲上下文分配一個新的HttpSessionState對象,還是這樣做了?
編輯:好的,所以它不只是會話是空的......整個上下文都搞砸了。當webpart進入init時,上下文沒問題......但是當它到達dropbox selectedindexchange回發事件(dropbox包含用於設置rootnode變量的節點id)時,上下文主要包含null屬性。
此外,它似乎只在選擇某個ID時發生。這看起來更像是我的一種奇怪的錯誤,而不是我對會話的理解。