serialisieren der session state in asp.net
Ich versuche zu speichern Sitzungszustand in SQL statt InProc in unser nopcommerce 1.9 installieren. Wenn ich die erforderlichen änderungen an der web.config bekomme ich diesen Fehler:
Server Error in '/' Application.
Nicht serialisieren des Sitzungsstatus. In "StateServer" und
'SQL Server' - Modus ASP.NET serialisieren der session state objects,
und als Folge nicht-serialisierbare Objekte oder MarshalByRef-Objekte sind
nicht gestattet ist. Die gleiche Einschränkung gilt, wenn ähnliche Serialisierung
erfolgt durch die benutzerdefinierten session-state speichern im 'Custom' - Modus.Beschreibung: Eine nicht behandelte Ausnahme ist aufgetreten während der Ausführung der
der aktuellen web-Anfrage. Bitte überprüfen Sie die Stapelüberwachung für weitere
Informationen über den Fehler und wo Sie Ihren Ursprung in den code.Exception Details: System.Web.HttpException: Nicht serialisieren
Sitzung Zustand. In "StateServer" und "SQLServer-Modus', ASP.NET wird
die Serialisierung der session state objects, und als ein Ergebnis nicht-serialisierbaren
MarshalByRef-Objekte oder Objekte sind nicht zulässig. Das gleiche
die Einschränkung gilt, wenn ähnlich wie die Serialisierung erfolgt durch die custom
session-state speichern im 'Custom' - Modus.Quelle Fehler:
Wurde eine unbehandelte Ausnahme generiert, die während der Ausführung des
aktuellen web-Anfrage. Informationen über den Ursprung und die Lage des
die Ausnahme identifiziert werden kann mit der Ausnahmestapelüberwachung unten.Stack Trace:
[SerializationException: Der Typ
'NopSolutions.NopCommerce.BusinessLogic.Kategorien.Kategorie' in
Die Assembly 'Nop.BusinessLogic, Version=1.9.0.0, Culture=neutral,
PublicKeyToken=null " ist nicht als serialisierbar markiert.]
System.- Laufzeit.Serialisierung.FormatterServices.InternalGetSerializableMembers(RuntimeType
Art) +9449041
System.- Laufzeit.Serialisierung.FormatterServices.GetSerializableMembers(Typ
Typ, StreamingContext context) +247
System.- Laufzeit.Serialisierung.Formatierer.Binären.WriteObjectInfo.InitMemberInfo()
+160-System.- Laufzeit.Serialisierung.Formatierer.Binären.WriteObjectInfo.InitSerialize(Typ
objectType, ISurrogateSelector surrogateSelector, StreamingContext
Kontext, SerObjectInfoInit serObjectInfoInit, IFormatterConverter
Konverter, SerializationBinder binder) +371
System.- Laufzeit.Serialisierung.Formatierer.Binären.ObjectWriter.WriteArray(WriteObjectInfo
objektzusatzinformationen, NameInfo memberNameInfo, WriteObjectInfo memberObjectInfo)
+205 System.- Laufzeit.Serialisierung.Formatierer.Binären.ObjectWriter.Schreiben(WriteObjectInfo
objektzusatzinformationen, NameInfo memberNameInfo, NameInfo typeNameInfo) +651
System.- Laufzeit.Serialisierung.Formatierer.Binären.ObjectWriter.Serialisieren(Objekt
Grafik, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)
+444-System.- Laufzeit.Serialisierung.Formatierer.Binären.BinaryFormatter.Serialize(Stream
serializationStream, Objekt, Grafik, Header[] Header, Boolean fCheck)
+133 System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +1762[HttpException (0 x 80004005): Nicht serialisieren des Sitzungsstatus. In
'StateServer' und 'SQL Server' - Modus ASP.NET serialisieren der Sitzung
Status-Objekte, und als ein Ergebnis nicht-serialisierbare Objekte oder
MarshalByRef-Objekte sind nicht zulässig. Die gleiche Einschränkung gilt
wenn ähnliche Serialisierung erfolgt durch die benutzerdefinierten session-state speichern im
'Custom' - Modus.]
System.Web.Util.AltSerialization.WriteValueToStream(Object value,
BinaryWriter writer) +1847
System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(Objekt
Wert, BinaryWriter writer) +34
System.Web.SessionState.SessionStateItemCollection.Serialize(BinaryWriter
Schriftsteller) +638
System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData
Element Stream stream) +244
System.Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData
item, Int32 initialStreamSize, Byte[]& buf, Int32& Länge, Boolean
compressionEnabled) +67
System.Web.SessionState.SqlSessionStateStore.SetAndReleaseItemExclusive(HttpContext
Kontext, String id, SessionStateStoreData Element, Objekt lockId, Boolean
newitem verwendet) +140
System.Web.SessionState.SessionStateModule.OnReleaseState(Objekt
source, EventArgs eventArgs) +807
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+148 System.Web.HttpApplication.ExecuteStep(IExecutionStep Schritt, Boolean& completedSynchronously) +75Version Information: Microsoft .NET Framework, Version:4.0.30319;
ASP.NET-Version:4.0.30319.272
Jemand BITTE sagen Sie mir, ich brauche nicht zu serialisieren, die jedes Objekt in Nopcommerce, dies zu tun!
InformationsquelleAutor Laziale | 2012-04-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als die Ausnahme, sagt Ihre Art
NopSolutions.NopCommerce.BusinessLogic.Categories.Category
ist nicht serialisierbar. Ich weiß nicht, die Umsetzung dieser Typ, aber Sie können versuchen, zu schmücken, der Typ mit der
[Serializable]
Attribut., Wenn Sie Sie nicht dies tun, Sie können schreiben Sie einfach die id des Objekts, zu Ihrer Sitzung.
Wenn Sie möchten, dass Ihre Sitzung in sql server gespeichert werden, zu jedem Objekt Ihre schreiben in Ihrer Sitzung muss serialisierbar sein.
Mehr Informationen
InformationsquelleAutor dknaack
Hinzufügen der
[Serializable]
Attribut (<Serializable()>
in VB) automatisch die macht Ihrer Klasse serialisierbar. Allen Mitgliedern, die in Ihrer Klasse muss serialisierbar sein, auch. Also angenommen, es werden Objekt-Referenzen in Ihrer Klasse. Dann die Klassen, denen die Objekte angehören müssen, haben die[Serializable]
- Attribut zu. Basic-Typen werden automatisch serialisierbar sind.InformationsquelleAutor phabtar