ASP.NET Session State Caching
ASP.NET session state caching is designed to allow you to store user session data in different sources. By default, session state values and information are stored in memory within the ASP.NET process.
Ignite.NET implements a session state store provider that stores session data in the Ignite cache which distributes session state across multiple servers in order to provide high availability and fault tolerance.
Development and debugging
During development and debugging, IIS will dynamically detect code changes when you build and run your web application. This, however, does not restart the embedded Ignite instance and can cause exceptions and undesired behavior. Make sure to restart IIS manually when using the Ignite Session State Cache.
Installation
Binary distribution: add a reference to Apache.Ignite.AspNet.dll
NuGet: Install-Package Apache.Ignite.AspNet
Configuration
To enable Ignite-based session state storage, modify the web.config
file as follows:
<system.web>
...
<sessionState mode="Custom" customProvider="IgniteSessionStateProvider">
<providers>
<add name="IgniteSessionStateProvider"
type="Apache.Ignite.AspNet.IgniteSessionStateStoreProvider, Apache.Ignite.AspNet"
igniteConfigurationSectionName="igniteConfiguration"
applicationId="myApp"
gridName="myGrid"
cacheName="aspNetSessionCache" />
</providers>
</sessionState>
...
</<system.web>
name
and type
attributes are required, others are optional.
Attribute | Description |
---|---|
igniteConfigurationSectionName | web.config section name defined in configSections . See Configuration: web.config for more details. This configuration will be used to start Ignite if it is not started yet. |
applicationId | Should only be used when multiple web applications share the same Ignite session state cache. Assign different ID strings to avoid session data conflicts between applications. It is recommended to use a separate cache for each application via cacheName attribute. |
gridName | Session state provider calls Ignition.TryGetIgnite with this grid name to check whether Ignite is already started. |
cacheName | Session state cache name. Default is ASPNET_SESSION_STATE . |
For more details on starting Ignite within an ASP.NET application, refer to ASP.NET Output Caching.
See ASP.NET Deployment for web deployment specifics related to IGNITE_HOME
.
Updated over 5 years ago