Wir sind Migration von Remoting zu WCF eine sehr große Anwendung, die DataSets intensiv verwendet. Wir verwenden die ExtendedProperties der DataSets-Tabellen, um ein Diagramm von Objekten zu speichern, die spezielle Informationen enthalten, die wir auf der Client-Seite benötigen. In unserer Remoting-Implementierung haben wir dem Channel-Stack einen Client- und einen Server-Kanal hinzugefügt, um zu prüfen, ob die Nachricht ein Dataset enthält und einen XML-Serializer verwendet, um ExtendedProperties über die Verbindung zu senden (Sie kennen vielleicht das Dataset) Serializer führt eine ToString() der Elemente, die in den ExtendedProperties gefunden werden).Wie können wir Dataset ExtendedProperties in WCF transparent serialisieren?
Wir haben es so gemacht, so dass es für die Geschäftsregeln und UI-Entwickler transparent war.
Was sollten wir in WCF überschreiben oder implementieren, damit das DataSet verwaltet werden kann, bevor es vom WCF-Kanal nach xml/soap serialisiert wird? Ist es möglich?
Hinweis: Ich weiß bereits, wir müssen vermeiden, Datensätze in wcf verwenden, aber wir haben mehr als 200 Formen mit Datensätzen und sie alle ändern ist keine Option im Moment.
Vielen Dank!
Ja, die WriteXml serialisiert den ExtendedProperties-Inhalt bereits, aber tut eine ToString() des Objekts. Was ich genau brauche, ist einen Punkt kurz vor der Serialisierung zu haben, und ein anderer direkt nach der Deserialisierung ermöglicht es mir, meine benutzerdefinierten Objekte in und aus einer Zeichenkette umzuwandeln. Sie haben mir einen guten Anhaltspunkt mit dem DataContractSerializerOperationBehavior gegeben, ich werde mit diesem versuchen und Ihnen meine Ergebnisse mitteilen. – jmservera