ASP.NET Session State support for Sitecore Client


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 environments 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 7.5 Update-1

An issue introduced in Sitecore 7.5 Initial Release preventing Sitecore Client from being used with the out-of-process session state modes was fixed in Sitecore 7.5 Update-1.
Additional fixes with the out-of-process session state modes were made in Sitecore 7.5 Update-1.

Sitecore 7.5 Initial Release

An issue preventing Sitecore Client from being used with the out-of-process session-state modes was discovered in Sitecore 7.5 Initial Release. You may see the serialization errors similar to the following when working with the Sitecore Client:

ERROR Application error.
Exception: System.Web.HttpException
Message: Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.
Source: System.Web
   at System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer)
   at System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(Object value, BinaryWriter writer)
   at System.Web.SessionState.SessionStateItemCollection.Serialize(BinaryWriter writer)
   ...
Sitecore 7.0 Update-3

Further fixes for out-of-process session state modes were made in 7.0 Update-3.

Sitecore 6.5.0 Update-5 (Service Pack-1)

Sitecore 6.5.0 Update-5 introduced experimental support for using Sitecore Clients with SqlServer, StateServer, and other out-of-process session-state modes since CMS 6.5.0 Update-5.

Core features such as content editing and publishing should work as expected, but we are aware of a number of issues that have not yet been addressed, so the feature can be used for evaluation of this functionality, but is not considered production-ready yet.

Sitecore 6.5.0 Update-4 and earlier

In 6.5.0 Update-4 and earlier Sitecore versions, the Sitecore Client only supports the InProc session-state mode.

Solution

To resolve the serialization issue introduced in Sitecore 7.5 Initial Release:

  1. Download the hotfix Sitecore CMS 7.5 rev. 141003 Hotfix 424008-1.zip;
  2. Install the hotfix using the Sitecore Installation Wizard.