如何:从应用程序状态中读取值
更新: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 If
if (Application["AppStartTime"] != null) { DateTime myAppStartTime = (DateTime)Application["AppStartTime"]; }