如何:从应用程序状态中读取值

更新: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"];
    }
    

请参见

任务

如何:保存应用程序状态中的值

概念

ASP.NET 应用程序状态概述

ASP.NET 状态管理概述

ASP.NET 状态管理建议