更新:2007 年 11 月
應用程式狀態是 ASP.NET 應用程式中所有類別都能使用的資料儲存機制。應用程式狀態儲存在伺服器的記憶體中,並且速度比在資料庫中儲存和擷取資料還快。工作階段狀態是指特定的單一使用者工作階段,而應用程式狀態與工作階段不同,是適用於所有使用者和工作階段。因此,應用程式狀態是很有用的位置,可用來存放少量經常使用但不會因使用者不同而變更的資料。
應用程式狀態是儲存在 HttpApplicationState 類別中,當使用者第一次存取應用程式中的 URL 資源時就會建立的新執行個體。如需詳細資訊,請參閱 ASP.NET 應用程式狀態概觀。
應用程式狀態會將資料型別儲存為 Object。因此,即使在將資料儲存於應用程式狀態時不需要進行序列化,在擷取時仍然必須將資料轉換為適當的型別。如果您嘗試以某些其他的方式 (例如,檢查其型別) 使用不存在的應用程式狀態項目,雖然可以轉換 null (在 Visual Basic 中是 Nothing) 物件,但是仍然會擲出 NullReferenceException 例外狀況。
程序
若要從應用程式狀態讀取值
請判斷應用程式變數是否存在,然後在存取時將變數轉換為適當的型別。
下列程式碼範例會擷取應用程式狀態 AppStartTime 值,然後將其轉換成 DateTime 型別,名為 appStateTime 的變數。
If (Not Application("AppStartTime") Is Nothing) Then Dim myAppStartTime As DateTime = _ CDate(Application("AppStartTime")) End Ifif (Application["AppStartTime"] != null) { DateTime myAppStartTime = (DateTime)Application["AppStartTime"]; }