Name

HttpSessionState

Synopsis

The HttpSessionState class provides server-side state management that is stored on a per-client basis. The HttpSessionState class exposes a key/value collection of items that can store simple value types or instances of .NET objects. You can add and access items in the HttpSessionState collection as you would with other ASP.NET collections, including System.Web.HttpApplicationState and System.Web.Caching.Cache. Unlike these classes, session state can be stored outside of the main ASP.NET process. This allows it to be shared across multiple computers in a web farm and persist after server restarts.

The HttpSessionState class combines two state collections: Contents and StaticObjects. The StaticObjects collection contains the application state objects that are defined in the global.asax file with <object runat="server"> tags. This collection is immutable. The Contents collection contains all the state objects added at runtime.

The Item collection is the default indexer for HttpSessionState, so you can use the name of a state object as an index, as in: Session("userName") = "Lucy". If you assign a value to a state object that does not exist, it is created automatically. Items are stored as the generic System.Object type and must be cast to the appropriate types when you retrieve them.

Other properties allow you to get information about whether or not the session has just been created with the current request (IsNewSession) and what type of session ID ...

Get ASP.NET in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.