存取 ASP.NET 類別中的會話狀態
從類別直接存取 ASP.NET 會話變數(例如 Session["loginId"]
)是有問題的。 這通常會導致運行時錯誤。
會話存取的有效方法
兩種強大的方法解決了這個挑戰:
利用 HttpContext.Current: HttpContext.Current.Session["loginId"]
方法提供直接存取。 但是,這需要明確類型轉換,如果會話未初始化,則容易出現 NullReferenceException
錯誤。
首選:包裝類別方法: 這種方法如下圖所示,建立一個專用的包裝類別(如範例中的 MySession
)來管理會話存取。 包裝類別在第一個請求時初始化會話中的單一實例,提供對會話屬性的類型安全存取。
使用包裝類別的好處:
NullReferenceException
風險。 以上是如何從類別中存取 ASP.NET 會話變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!