Show / Hide Table of Contents

# Class IgniteSessionStateStoreProvider

ASP.NET Session-State Store Provider that uses Ignite distributed cache as an underlying storage.

You can either start Ignite yourself, and provide `gridName` attribute, or provide `igniteConfigurationSectionName` attribute to start Ignite automatically from specified configuration section (see IgniteConfigurationSection) using `igniteConfigurationSectionName`.

`cacheName` attribute specifies Ignite cache name to use for data storage. This attribute can be omitted if cache name is null.

Optional `applicationId` attribute allows sharing a single Ignite cache between multiple web applications.

##### Inheritance

System.Object
System.Configuration.Provider.ProviderBase
System.Web.SessionState.SessionStateStoreProviderBase
IgniteSessionStateStoreProvider

##### Inherited Members

System.Configuration.Provider.ProviderBase.Name
System.Configuration.Provider.ProviderBase.Description
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()

###### Namespace: Apache.Ignite.AspNet

###### Assembly: Apache.Ignite.AspNet.dll

##### Syntax

    public class IgniteSessionStateStoreProvider : SessionStateStoreProviderBase

### Fields

#### DefaultCacheName

The default cache name to be used when `cacheName` attribute is not specified.

##### Declaration

    public const string DefaultCacheName = "ASPNET_SESSION_STATE"

##### Field Value

Type | Description
--- | ---
System.String |

### Methods

#### CreateNewStoreData(HttpContext, Int32)

Creates a new System.Web.SessionState.SessionStateStoreData object to be used for the current request.

##### Declaration

    public override SessionStateStoreData CreateNewStoreData(HttpContext context, int timeout)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.HttpContext | context | The System.Web.HttpContext for the current request.
System.Int32 | timeout | The session-state System.Web.SessionState.HttpSessionState.Timeout value for the new System.Web.SessionState.SessionStateStoreData, in minutes.

##### Returns

Type | Description
--- | ---
System.Web.SessionState.SessionStateStoreData | A new System.Web.SessionState.SessionStateStoreData for the current request.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.CreateNewStoreData(System.Web.HttpContext, System.Int32)

#### CreateUninitializedItem(HttpContext, String, Int32)

Adds a new session-state item to the data store.

##### Declaration

    public override void CreateUninitializedItem(HttpContext context, string id, int timeout)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.HttpContext | context | The System.Web.HttpContext for the current request.
System.String | id | The System.Web.SessionState.HttpSessionState.SessionID for the current request.
System.Int32 | timeout | The session System.Web.SessionState.HttpSessionState.Timeout for the current request, in minutes.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.CreateUninitializedItem(System.Web.HttpContext, System.String, System.Int32)

#### Dispose()

Releases all resources used by the System.Web.SessionState.SessionStateStoreProviderBase implementation.

##### Declaration

    public override void Dispose()

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.Dispose()

#### EndRequest(HttpContext)

Called by the System.Web.SessionState.SessionStateModule object at the end of a request.

##### Declaration

    public override void EndRequest(HttpContext context)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.HttpContext | context | The System.Web.HttpContext for the current request.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.EndRequest(System.Web.HttpContext)

#### GetItem(HttpContext, String, out Boolean, out TimeSpan, out Object, out SessionStateActions)

Returns read-only session-state data from the session data store.

##### Declaration

    public override SessionStateStoreData GetItem(HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.HttpContext | context | The System.Web.HttpContext for the current request.
System.String | id | The System.Web.SessionState.HttpSessionState.SessionID for the current request.
System.Boolean | locked | When this method returns, contains a Boolean value that is set to true if the requested session item is locked at the session data store; otherwise, false.
System.TimeSpan | lockAge | When this method returns, contains a System.TimeSpan object that is set to the amount of time that an item in the session data store has been locked.
System.Object | lockId | When this method returns, contains an object that is set to the lock identifier for the current request. For details on the lock identifier, see "Locking Session-Store Data" in the System.Web.SessionState.SessionStateStoreProviderBase class summary.
System.Web.SessionState.SessionStateActions | actions | When this method returns, contains one of the System.Web.SessionState.SessionStateActions values, indicating whether the current session is an uninitialized, cookieless session.

##### Returns

Type | Description
--- | ---
System.Web.SessionState.SessionStateStoreData | A System.Web.SessionState.SessionStateStoreData populated with session values and information from the session data store.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.GetItem(System.Web.HttpContext, System.String, System.Boolean, System.TimeSpan, System.Object, System.Web.SessionState.SessionStateActions)

#### GetItemExclusive(HttpContext, String, out Boolean, out TimeSpan, out Object, out SessionStateActions)

Returns read-only session-state data from the session data store.

##### Declaration

    public override SessionStateStoreData GetItemExclusive(HttpContext context, string id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.HttpContext | context | The System.Web.HttpContext for the current request.
System.String | id | The System.Web.SessionState.HttpSessionState.SessionID for the current request.
System.Boolean | locked | When this method returns, contains a Boolean value that is set to true if a lock is successfully obtained; otherwise, false.
System.TimeSpan | lockAge | When this method returns, contains a System.TimeSpan object that is set to the amount of time that an item in the session data store has been locked.
System.Object | lockId | When this method returns, contains an object that is set to the lock identifier for the current request. For details on the lock identifier, see "Locking Session-Store Data" in the System.Web.SessionState.SessionStateStoreProviderBase class summary.
System.Web.SessionState.SessionStateActions | actions | When this method returns, contains one of the System.Web.SessionState.SessionStateActions values, indicating whether the current session is an uninitialized, cookieless session.

##### Returns

Type | Description
--- | ---
System.Web.SessionState.SessionStateStoreData | A System.Web.SessionState.SessionStateStoreData populated with session values and information from the session data store.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.GetItemExclusive(System.Web.HttpContext, System.String, System.Boolean, System.TimeSpan, System.Object, System.Web.SessionState.SessionStateActions)

#### Initialize(String, NameValueCollection)

Initializes the provider.

##### Declaration

    public override void Initialize(string name, NameValueCollection config)

##### Parameters

Type | Name | Description
--- | --- | ---
System.String | name | The friendly name of the provider.
System.Collections.Specialized.NameValueCollection | config | A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.

##### Overrides

System.Configuration.Provider.ProviderBase.Initialize(System.String, System.Collections.Specialized.NameValueCollection)

#### InitializeRequest(HttpContext)

Called by the System.Web.SessionState.SessionStateModule object for per-request initialization.

##### Declaration

    public override void InitializeRequest(HttpContext context)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.HttpContext | context | The System.Web.HttpContext for the current request.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.InitializeRequest(System.Web.HttpContext)

#### ReleaseItemExclusive(HttpContext, String, Object)

Releases a lock on an item in the session data store.

##### Declaration

    public override void ReleaseItemExclusive(HttpContext context, string id, object lockId)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.HttpContext | context | The System.Web.HttpContext for the current request.
System.String | id | The session identifier for the current request.
System.Object | lockId | The lock identifier for the current request.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.ReleaseItemExclusive(System.Web.HttpContext, System.String, System.Object)

#### RemoveItem(HttpContext, String, Object, SessionStateStoreData)

Deletes item data from the session data store.

##### Declaration

    public override void RemoveItem(HttpContext context, string id, object lockId, SessionStateStoreData item)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.HttpContext | context | The System.Web.HttpContext for the current request.
System.String | id | The session identifier for the current request.
System.Object | lockId | The lock identifier for the current request.
System.Web.SessionState.SessionStateStoreData | item | The System.Web.SessionState.SessionStateStoreData that represents the item to delete from the data store.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.RemoveItem(System.Web.HttpContext, System.String, System.Object, System.Web.SessionState.SessionStateStoreData)

#### ResetItemTimeout(HttpContext, String)

Updates the expiration date and time of an item in the session data store.

##### Declaration

    public override void ResetItemTimeout(HttpContext context, string id)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.HttpContext | context | The System.Web.HttpContext for the current request.
System.String | id | The session identifier for the current request.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.ResetItemTimeout(System.Web.HttpContext, System.String)

#### SetAndReleaseItemExclusive(HttpContext, String, SessionStateStoreData, Object, Boolean)

Updates the session-item information in the session-state data store with values from the current request, and clears the lock on the data.

##### Declaration

    public override void SetAndReleaseItemExclusive(HttpContext context, string id, SessionStateStoreData item, object lockId, bool newItem)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.HttpContext | context | The System.Web.HttpContext for the current request.
System.String | id | The session identifier for the current request.
System.Web.SessionState.SessionStateStoreData | item | The System.Web.SessionState.SessionStateStoreData object that contains the current session values to be stored.
System.Object | lockId | The lock identifier for the current request.
System.Boolean | newItem | true to identify the session item as a new item; false to identify the session item as an existing item.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.SetAndReleaseItemExclusive(System.Web.HttpContext, System.String, System.Web.SessionState.SessionStateStoreData, System.Object, System.Boolean)

#### SetItemExpireCallback(SessionStateItemExpireCallback)

Sets a reference to the System.Web.SessionState.SessionStateItemExpireCallback delegate for the Session_OnEnd event defined in the Global.asax file.

##### Declaration

    public override bool SetItemExpireCallback(SessionStateItemExpireCallback expireCallback)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Web.SessionState.SessionStateItemExpireCallback | expireCallback | The System.Web.SessionState.SessionStateItemExpireCallback delegate for the Session_OnEnd event defined in the Global.asax file.

##### Returns

Type | Description
--- | ---
System.Boolean | true if the session-state store provider supports calling the Session_OnEnd event; otherwise, false.

##### Overrides

System.Web.SessionState.SessionStateStoreProviderBase.SetItemExpireCallback(System.Web.SessionState.SessionStateItemExpireCallback)