Configure the Content Management environment for out-of-process session-state modes


Description

Sitecore does not currently support or recommend out-of-process session state for Sitecore Client / Content Management environments.

Sitecore 8.0+

Upon further consideration, Sitecore has decided to deprecate experimental support for out-of-process session state for Sitecore Client / Content Management environments.

Content Management environments should rely on InProc session state, and for the environment that use multiple CM instances - sticky sessions must used to persist session state data between multiple requests.

Support for out-of-process session state for Sitecore Client will be re-considered for introducing full support in later Sitecore versions.

For customers who already utilize out-of-process session state configuration for Sitecore Client, Sitecore will continue to provide experimental level of support or assistance with transitioning to InProc session state setup.

Sitecore CMS 6.5.0 Update-5 (Service Pack-1) 

Sitecore CMS 6.5.0 Update-5 (Service Pack-1) introduces experimental support for using Sitecore Clients with out-of-process session-state modes such as SqlServer or StateServer.

Using these modes can be useful in conjunction with a load balancer distributing the load among several Sitecore instances.

However, such a setup requires some extra configuration in addition to specifying the appropriate session-state provider.

If the steps are not complete, the following issues can occur:

This article provides the configuration steps required for the aforementioned setup with the load balancer using either sticky or non-sticky sessions.

You can find out more about the out-of-process session-state modes and Sitecore Client support in the following KB article:
KB0901069

Solution

If you are using sticky sessions, you must apply the configuration described in chapter 2.3 Configuring the Content Management Environment of the Scaling Guide.

If you want to avoid using sticky sessions, in addition to the above-mentioned step, you must also apply the following web.config changes to all the Sitecore instances of the distributed environment:

Web.config changes

You must make the following changes to the Web.config file of all the Sitecore instances in the environment:

  1. Change the ViewStateStore setting as shown below. By default, Sitecore uses the file system to store the ViewState of some Sitecore Client pages. After this change, Sitecore stores the ViewState in the database.
    <setting name="ViewStateStore" value="Sitecore.Data.DataProviders.DatabaseViewStateStore, Sitecore.Kernel" />
  2. Change the PageStateStore setting as shown below. Some of the Sitecore Client pages use PageStateStore to store related data. After this change, Sitecore stores this data in the database.
    <setting name="PageStateStore" value="Sitecore.Web.UI.DatabasePageStateStore, Sitecore.Kernel" />
  3. Set the Caching.CacheViewState setting to false. This prevents Sitecore from caching Viewstate data of the Sitecore Client pages in memory.
    <setting name="Caching.CacheViewState" value="false" />
  4. Set the Icons.UseZippedIcons setting to false.

    When the value of this setting is set to true, Sitecore uses the /temp/IconCache folder (default path for caching the icons) for caching the unzipped icons on the file system. This can lead to some problems when displaying the icons in UI when using a non-sticky session. To avoid this issue, you must set this setting to false:

    <setting name="Icons.UseZippedIcons" value="false" />

    Note: In this case, all instances behind the load balancer must have the full set of the icons unzipped into the /sitecore/shell/Themes/Standard folder.

    To do this, you must unzip all zipped files located under the /sitecore/shell/Themes/Standard folder into this folder.

Note: As the support of out-of-process session state providers is still experimental for the Sitecore Client, there might be some issues occurring in the aforementioned configuration. If you notice any issues, contact Sitecore Support.