This documentation is archived and is not being maintained.

IHttpSessionState Interface

Defines the contract to implement a custom session-state container.

Namespace:  System.Web.SessionState
Assembly:  System.Web (in System.Web.dll)

public interface class IHttpSessionState

The IHttpSessionState type exposes the following members.

Public propertyCodePageGets or sets the code-page identifier for the current session.
Public propertyCookieModeGets a value that indicates whether the application is configured for cookieless sessions.
Public propertyCountGets the number of items in the session-state item collection.
Public propertyIsCookielessGets a value indicating whether the session ID is embedded in the URL or stored in an HTTP cookie.
Public propertyIsNewSessionGets a value indicating whether the session was created with the current request.
Public propertyIsReadOnlyGets a value indicating whether the session is read-only.
Public propertyIsSynchronizedGets a value indicating whether access to the collection of session-state values is synchronized (thread safe).
Public propertyItem[Int32]Gets or sets a session-state item value by numerical index.
Public propertyItem[String]Gets or sets a session-state item value by name.
Public propertyKeysGets a collection of the keys for all values stored in the session-state item collection.
Public propertyLCIDGets or sets the locale identifier (LCID) of the current session.
Public propertyModeGets the current session-state mode.
Public propertySessionIDGets the unique session identifier for the session.
Public propertyStaticObjectsGets a collection of objects declared by <object Runat="Server" Scope="Session"/> tags within the ASP.NET application file Global.asax.
Public propertySyncRootGets an object that can be used to synchronize access to the collection of session-state values.
Public propertyTimeoutGets and sets the time-out period (in minutes) allowed between requests before the session-state provider terminates the session.

Public methodAbandonEnds the current session.
Public methodAddAdds a new item to the session-state collection.
Public methodClearClears all values from the session-state item collection.
Public methodCopyToCopies the collection of session-state item values to a one-dimensional array, starting at the specified index in the array.
Public methodGetEnumeratorReturns an enumerator that can be used to read all the session-state item values in the current session.
Public methodRemoveDeletes an item from the session-state item collection.
Public methodRemoveAllClears all values from the session-state item collection.
Public methodRemoveAtDeletes an item at a specified index from the session-state item collection.

A session-state container provides access to the session-state values and related information for the current session. Session information included in a session-state container is exposed to application code through the HttpSessionState class using the Session property. The HttpSessionState class is a wrapper class for a session-state container.

The ASP.NET implementation of a session-state container is the HttpSessionStateContainer class. At the beginning of a request, during the AcquireRequestState event, the SessionStateModule creates and populates an HttpSessionStateContainer object and assigns it to the current HttpContext. At the end of a request, during the ReleaseRequestState event, the SessionStateModule retrieves the HttpSessionStateContainer object from the current HttpContext and performs any required session work, such as writing the session values to the session store, or abandoning the session. If the request is abruptly terminated, such as through a redirect, the SessionStateModule performs the same cleanup by calling the EndRequest method.

To create a custom session-state container, create a class that implements the IHttpSessionState interface. If you are creating your own custom session-state container, you must also replace the SessionStateModule with your own custom module. Your custom module will create an instance of your custom session-state container and add it to the current HttpContext using the AddHttpSessionStateToContext method. An example of a custom session-state module is included in the SessionStateUtility class overview.

The following code example implements the IHttpSessionState interface to create a new session-state container class named MySessionState.

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.