程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET狀態管理之九(會話Session)

ASP.NET狀態管理之九(會話Session)

編輯:關於ASP.NET

ASP.NET 允許您使用會話狀態保存每個活動的 Web 應用程序會話的值,會話狀態是 HttpSessionState 類的一個實例。

會話狀態與應用程序狀態相似,不同的只是會話狀態的范圍限於當前的浏覽器會話。如果有不同的用戶在使用您的應用程序,則每個用戶會話都將有一個不同的會話狀態。此外,如果同一用戶在退出後又返回到應用程序,第二個用戶會話的會話狀態也會與第一個不同。

會話狀態采用鍵/值字典形式的結構來存儲特定於會話的信息,這些信息需要在服務器往返行程之間及頁請求之間進行維護。

可以使用會話狀態來完成以下任務:

1.唯一標識浏覽器或客戶端設備請求,並將這些請求映射到服務器上的單獨會話實例。

2.在服務器上存儲特定於會話的數據,以用於同一個會話內的多個浏覽器或客戶端設備請求。

3.引發適當的會話管理事件。此外,可以利用這些事件編寫應用程序代碼。

一旦將應用程序特定的信息添加到會話狀態中,服務器就會管理該對象。根據您指定的選項的不同,可以將會話信息存儲在 Cookie 中、進程外服務器中或運行 Microsoft SQL Server 的計算機中。

默認情況下,所有 ASP.NET 應用程序都啟用 ASP.NET 會話狀態。

會話變量

如何:保存會話狀態中的值

會話變量存儲在通過 System.Web.HttpContext.Session 屬性公開的 SessionStateItemCollection 中。

會話變量集合按變量名稱或整數索引來進行索引。僅需通過名稱引用會話變量即可創建會話變量。無需聲明會話變量或將會話變量顯式添加到集合中。

例如,下面的代碼示例創建分別表示用戶的名字和姓氏的會話變量,並將它們設置為從 TextBox 控件檢索到的值。

Session["FirstName"] = FirstNameTextBox.Text;
Session["LastName"] = LastNameTextBox.Text;

默認情況下,會話變量可以為任何有效的 .NET 類型。

例如,下面的代碼示例將值的 ArrayList 存儲在名為“StockPicks”的會話變量中。注意,由“StockPicks”會話變量返回的值在從 SessionStateItemCollection 檢索出來時必須強制轉換為適當的類型。

ArrayList stockPicks = (ArrayList)Session["StockPicks"];
Session["StockPicks"] = stockPicks;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved