會話狀態

HTTP 是無狀態的。ASP.NET 會話狀態是一個有助於維護 HTTP 頁面請求之間狀態的框架。

會話與類級變數的不同之處在於它能夠在回發和不同頁面之間保持可用。例如,如果使用者在同一個應用程式中被重定向到 Page2.aspx,則在 Page1.aspx 中建立的會話變數將可用。

此外,與在頁面級別宣告的靜態變數相比,會話變數對於不同的使用者是獨立的。這意味著,更改一個使用者的會話變數的值不會影響其他使用者的同一變數的值。

雖然 ViewState 可以用於臨時儲存使用者的資料,但它不允許跨多個頁面儲存資料。此外,viewstate 是頁面的一部分併傳送給客戶端。因此,與使用者相關的任何關鍵資訊都無法儲存在 ViewState 中,這就是會話變數變得有用的地方。