serializowanie stanu sesji w asp.net

Próbuję zapisać stan sesji w SQL zamiast InProc w naszej instalacji nopcommerce 1.9. Gdy wprowadzam wymagane zmiany w pliku web.config, pojawia się ten błąd:

Błąd serwera w aplikacji „/”.

Nie można serializować stanu sesji. W trybie „StateServer” i „SQLServer” ASP.NET będzie serializować obiekty stanu sesji, w wyniku czego obiekty nieseryjne lub obiekty MarshalByRef nie są dozwolone. To samo ograniczenie ma zastosowanie, jeśli podobna serializacja jest wykonywana przez niestandardowy magazyn stanu sesji w trybie niestandardowym.

Opis: wystąpił nieobsługiwany wyjątek podczas wykonywania bieżącego żądania internetowego. Zapoznaj się ze śledzeniem stosu, aby uzyskać więcej informacji o błędzie i miejscu jego powstania.

Szczegóły wyjątku: System.Web.HttpException: Nie można serializować stanu sesji. W trybie „StateServer” i „SQLServer” ASP.NET będzie serializować obiekty stanu sesji, w wyniku czego obiekty nieseryjne lub obiekty MarshalByRef nie są dozwolone. To samo ograniczenie ma zastosowanie, jeśli podobna serializacja jest wykonywana przez niestandardowy magazyn stanu sesji w trybie niestandardowym.

Błąd źródła:

Nieobsługiwany wyjątek został wygenerowany podczas wykonywania bieżącego żądania WWW. Informacje dotyczące pochodzenia i lokalizacji wyjątku można zidentyfikować za pomocą poniższego śledzenia stosu wyjątków.

Ślad stosu:

[SerializationException: Wpisz 'NopSolutions.NopCommerce.BusinessLogic.Categories.Category' w Assembly 'Nop.BusinessLogic, Version = 1.9.0.0, Culture = neutral, PublicKeyToken = null' nie jest oznaczony jako serializowalny.]
System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers (typ RuntimeType) +9449041
System.Runtime.Serialization.FormatterServices.GetSerializableMembers (typ typu, kontekst StreamingContext) +247
System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo () +160 System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize (typ objectType, ISurrogateSelector surrogateSelector, kontekst StreamingContext, SerObjectInfoInit serObjectInfoInit, konwerter IFormatterConverter, segregator SerializationBinder) + 371
System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteArray (WriteObjectInfo objectInfo, NameInfo memberNameInfo, WriteObjectInfo memberObjectInfo) +205 System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write (WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfoNameInfo, NameInfo typeNameInfo) +651
System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize (Wykres obiektu, Header [] inHeaders, __BinaryWriter serWriter, Boolean fCheck) +444 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (Stream serializationStream, Object graph, Nagłówki nagłówka, logiczne fCheck) +133 System.Web.Util.AltSerialization.WriteValueToStream (wartość obiektu, program piszący BinaryWriter) +1762

[HttpException (0x80004005): Nie można serializować stanu sesji. W trybie „StateServer” i „SQLServer” ASP.NET będzie serializować obiekty stanu sesji, w wyniku czego obiekty nieseryjne lub obiekty MarshalByRef nie są dozwolone. To samo ograniczenie ma zastosowanie, jeśli podobna serializacja jest wykonywana przez niestandardowy magazyn stanu sesji w trybie niestandardowym.]
System.Web.Util.AltSerialization.WriteValueToStream (Wartość obiektu, program piszący BinaryWriter) +1847
System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert (wartość obiektu, program piszący BinaryWriter) +34
System.Web.SessionState.SessionStateItemCollection.Serialize (program piszący BinaryWriter) +638
System.Web.SessionState.SessionStateUtility.Serialize (element SessionStateStoreData, strumień Stream) +244
System.Web.SessionState.SessionStateUtility.SerializeStoreData (element SessionStateStoreData, Int32 initialStreamSize, Byte [] i buf, Int32 & length, Boolean compressionEnabled) +67
System.Web.SessionState.SqlSessionStateStore.SetAndReleaseItemExclusive (kontekst HttpContext, String id, SessionStateStoreData element, Object lockId, Boolean newItem) +140
System.Web.SessionState.SessionStateModule.OnReleaseState (źródło obiektu, EventArgs eventArgs) +807
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +148 System.Web.HttpApplication.ExecuteStep (krok IExecutionStep, Boolean & completedSynchronically) +75

Informacje o wersji: Microsoft .NET Framework wersja: 4.0.30319; ASP.NET Wersja: 4.0.30319.272

Ktoś PROSZĘ powiedzieć mi, że nie muszę serializować każdego obiektu w Nopcommerce, aby to zrobić!

questionAnswers(2)

yourAnswerToTheQuestion