Es gibt viele Fragen, die dem ähnlich sind ... aber ich sehe nicht, wie sie dieses spezifische Problem haben:
Ich habe einen Webservice, der einen Fehler zurückgibt, der mit:
beginntDer Sitzungsstatus konnte nicht serialisiert werden. In 'StateServer' und Im 'SQLServer' Modus wird ASP.NET die Sitzungsstatusobjekte serialisieren, und als Ergebnis sind nicht serialisierbare Objekte oder MarshalByRef-Objekte nicht gestattet. Die gleiche Einschränkung gilt für ähnliche Serialisierung wird vom benutzerdefinierten Sitzungszustandsspeicher im Modus 'Benutzerdefiniert' ausgeführt.
Also, Fragen wie diese Erwähnung, nach SerializationException zu suchen, herauszufinden, was nicht serialisiert werden kann, und es serialisierbar zu machen. Hört sich einfach an ... aber wenn ich danach suche, finde ich das:
[SerializationException: Geben Sie 'Microsoft.Web.Services3.StateManager' ein in Assembly 'Microsoft.Web.Services3, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'ist nicht als markiert serialisierbar.]
Das verwirrt mich ... es klingt, als ob es tatsächlich versucht, den StateManager zu serialisieren ... ist es nur, dass es versteckt, dass etwas anderes darin ist, dass der StateManager nicht serialisiert werden kann? Wenn ja, gibt es eine Möglichkeit, was herauszufinden? Oder soll der StateManager eigentlich aus irgendeinem Grund serialisierbar sein? (Ich vermute, ich sage das nicht sehr deutlich ... Entschuldigung ... wenn Sie Fragen haben, werde ich mein Bestes tun, um sie zu beantworten.)
Eine Sache, die ich auch beachten sollte, ist, dass wir NCache als einen Sitzungsspeicher-Anbieter verwenden, der so aussieht, als könnte er in irgendeiner Weise verwandt sein. Aber mir ist nicht klar, wie das dazu führen könnte, was ich sehe.
Wenn Sie ein benutzerdefiniertes Objekt serialisieren, achten Sie darauf, die Klasse mit dem Attribut zu dekorieren. Ohne dies bei einem Objekt, das Sie in den Sitzungsstatus versetzen, wird der Serializer fehlschlagen. Sie müssen wahrscheinlich das Objekt, das Sie speichern, isolieren und seine Eigenschaften überprüfen und dass es selbst dieses Attribut besitzt.
Tags und Links asp.net serialization web-services