Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
SessionStateItemCollection Class

SessionStateItemCollection Class

A collection of objects stored in session state. This class cannot be inherited.


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

public sealed class SessionStateItemCollection : NameObjectCollectionBase, 
	ISessionStateItemCollection, ICollection, IEnumerable

The SessionStateItemCollection type exposes the following members.

Public methodSessionStateItemCollectionCreates a new, empty SessionStateItemCollection object.

Public propertyCountGets the number of key/value pairs contained in the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Public propertyDirtyGets or sets a value indicating whether the collection has been marked as changed.
Public propertyItem[Int32]Gets or sets a value in the collection by numerical index.
Public propertyItem[String]Gets or sets a value in the collection by name.
Public propertyKeysGets a collection of the variable names for all values stored in the collection. (Overrides NameObjectCollectionBase.Keys.)

Public methodClearRemoves all values and keys from the session-state collection.
Public methodStatic memberDeserializeCreates a SessionStateItemCollection collection from a storage location that is written to using the Serialize method.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetEnumeratorReturns an enumerator that can be used to read all the key names in the collection. (Overrides NameObjectCollectionBase.GetEnumerator().)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetObjectDataImplements the ISerializable interface and returns the data needed to serialize the NameObjectCollectionBase instance. (Inherited from NameObjectCollectionBase.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodOnDeserializationImplements the ISerializable interface and raises the deserialization event when the deserialization is complete. (Inherited from NameObjectCollectionBase.)
Public methodRemoveDeletes an item from the collection.
Public methodRemoveAtDeletes an item at a specified index from the collection.
Public methodSerializeWrites the contents of the collection to a BinaryWriter.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Public Extension MethodAsParallel()Overloaded. Enables parallelization of a query. (Defined by ParallelEnumerable.)
Public Extension MethodAsParallel()Overloaded. (Defined by ParallelEnumerable.)
Public Extension MethodAsQueryable()Overloaded. Converts an IEnumerable to an IQueryable. (Defined by Queryable.)
Public Extension MethodAsQueryable()Overloaded. (Defined by Queryable.)
Public Extension MethodCast<TResult>()Overloaded. Casts the elements of an IEnumerable to the specified type. (Defined by Enumerable.)
Public Extension MethodCast<TResult>()Overloaded. (Defined by Enumerable.)
Public Extension MethodOfType<TResult>()Overloaded. Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.)
Public Extension MethodOfType<TResult>()Overloaded. (Defined by Enumerable.)

Explicit interface implemetationPrivate methodICollection.CopyToCopies the entire NameObjectCollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array. (Inherited from NameObjectCollectionBase.)
Explicit interface implemetationPrivate propertyICollection.IsSynchronizedGets a value indicating whether access to the NameObjectCollectionBase object is synchronized (thread safe). (Inherited from NameObjectCollectionBase.)
Explicit interface implemetationPrivate propertyICollection.SyncRootGets an object that can be used to synchronize access to the NameObjectCollectionBase object. (Inherited from NameObjectCollectionBase.)

The SessionStateItemCollection class is used to manage session-state variable values indexed by a variable name or by numerical index. The session-state variables are exposed to ASP.NET application code using the HttpSessionState class, which is accessed using the Session property of the current HttpContext or the Page. The HttpSessionState class calls the HttpSessionStateContainer class, which manages session-state variable values using the SessionStateItemCollection.

Notes to Implementers

When you create a custom session-state provider based on the SessionStateStoreProviderBase class, use the SessionStateItemCollection class to manage the items stored in session state. If you need to create a custom object to manage session-state items, implement the ISessionStateItemCollection interface.

The following code example creates a new SessionStateItemCollection object and sets and gets values in the collection by name.

SessionStateItemCollection items = new SessionStateItemCollection();

items["LastName"] = "Wilson";
items["FirstName"] = "Dan";

foreach (string s in items.Keys)
  Response.Write("items[\"" + s + "\"] = " + items[s].ToString() + "<br />");

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft