Sitzungszustände können nicht serialisiert werden. Im "StateServer"- oder "SQLServer"-Modus serialisiert ASP.NET Sitzungszustandsobjekte, sodass nicht-serialisierbare Objekte oder MarshalByRef-Objekte nicht erlaubt sind. Die gleichen Einschränkungen gelten, wenn der benutzerdefinierte Sitzungszustandstore eine ähnliche Serialisierung im "Custom"-Modus durchführt.
Lösung:
Variablen können bei der Zuweisung einer Sitzung nicht serialisiert werden, also versuche, [Serialisierbar] zur Klasse hinzuzufügen. Problemlösung
[Serialisierbar] öffentliche Klasse MyClass
{ .......
}
Sprechen wir über [Serializable], das verwendet wird, um den Compiler darüber zu informieren, dass die Klasse serialisiert werden kann
Serialisierung bezeichnet den Prozess, den Zustand einer Objektinstanz auf einem Speichermedium zu speichern. In diesem Prozess werden die öffentlichen und privaten Felder des Objekts sowie der Name der Klasse (einschließlich der Assembly, in der sich die Klasse befindet) in einen Bytestream umgewandelt, bevor der Bytestream in den Datenstrom geschrieben wird. Wenn das Objekt anschließend deserialisiert wird, entsteht eine identische Kopie des ursprünglichen Objekts. Bei der Implementierung von Serialisierungsmechanismen in einer objektorientierten Umgebung müssen gewisse Kompromisse zwischen Benutzerfreundlichkeit und Flexibilität bestehen. Solange du genug Kontrolle über diesen Prozess hast, kannst du ihn weitgehend automatisch machen. Zum Beispiel reicht eine einfache binäre Serialisierung nicht aus, oder es muss bestimmt werden, welche Felder in einer Klasse aus einem bestimmten Grund serialisiert werden müssen. Die folgenden Abschnitte werden die zuverlässigen Serialisierungsmechanismen des .NET-Frameworks untersuchen und einige der wichtigen Funktionen hervorheben, die es Ihnen ermöglichen, den Serialisierungsprozess an Ihre Bedürfnisse anzupassen.
|