We are using the Sitecore WFFM version 8.1 Update-2 installed in Sitecore version 8.1 rev 160302. Our CMS site session state is configured to use "StateServer". We are using the SqlDataProvider to store the form submission data, and were able to write the data to the WFFM SQL Database.

Now, in the CMS, when we are trying to view the WFFM Reports, we see the below error related to session state. It seems if the "SessionState" of the CMS site is set to value other than "InProc", I see this error.

7372 14:54:47 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) at System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData item, Stream stream) at System.Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData item, Int32 initialStreamSize, Byte[]& buf, Int32& length, Boolean compressionEnabled) at System.Web.SessionState.OutOfProcSessionStateStore.SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, Object lockId, Boolean newItem) at System.Web.SessionState.SessionStateModule.OnReleaseState(Object source, EventArgs eventArgs) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Nested Exception

Exception: System.Runtime.Serialization.SerializationException Message: Type 'Sitecore.WFFM.Abstractions.Wrappers.UI.ClientPageWrapper' in Assembly 'Sitecore.WFFM.Abstractions, Version=, Culture=neutral, PublicKeyToken=null' is not marked as serializable. Source: mscorlib at System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory) at System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter, SerializationBinder binder) at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo) at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck) at System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer)

Does the WFFM Reporting module in CM works only if the session state is set to "InProc"?

  • Have you checked this link yet? briancaos.wordpress.com/2014/03/07/… Not sure for the version you mentioned but for previous it would only work in InProc
    – Diego
    Commented Jan 10, 2018 at 20:08
  • I checked it now. The ClientPageWrapper class is not marked as serializable. I am not sure if Sitecore has any workaround for this particular issue. Commented Jan 10, 2018 at 20:18
  • Can you set to InProc? I had an issue with serialization and using InProc fixed without the need to mark the classes as serializable
    – Diego
    Commented Jan 10, 2018 at 20:27
  • It works with InProc. The problem is with the "StateServer" mode, which we are using for our CMS site. Commented Jan 11, 2018 at 14:03


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.