ASP.NET Session State Caching
Overview
The 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 a distributed Ignite cluster that spreads the session data across multiple servers in order to provide high availability, load balancing and fault tolerance.
Caution
|
Development and DebuggingDuring 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 the 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>
While the name
and type
attributes are required, the other attributes listed below are optional:
Attribute | Description |
---|---|
|
The |
|
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 |
|
Session state provider calls |
|
Session state cache name. Default is |
For more details on how to start Ignite within an ASP.NET application, refer to ASP.NET Output Caching.
Also, see ASP.NET Deployment for web deployment specifics related to the IGNITE_HOME
variable.
Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation.