Nous sommes migration de Remoting à WCF une très grande application qui utilise intensivement les DataSets. Nous utilisons les propriétés ExtendedProperties des tables DataSets pour stocker un graphique d'objets contenant des informations spéciales dont nous avons besoin côté client. Dans notre implémentation de Remoting, nous avons ajouté à la pile de canaux un client et un serveur pour vérifier si le message contenait un jeu de données et utiliser un sérialiseur xml pour pouvoir envoyer des ExtendedProperties via le réseau (vous pouvez savoir que l'ensemble de données serializer fait un ToString() des éléments trouvés dans ExtendedProperties). Nous l'avons fait de cette façon, donc c'était transparent pour les règles métier et les développeurs de l'interface utilisateur. Que devrions-nous surcharger ou implémenter dans WCF pour pouvoir gérer le DataSet avant qu'il ne soit sérialisé en xml/soap par le canal wcf? C'est possible? Je sais déjà que nous devons éviter d'utiliser des ensembles de données dans wcf, mais nous avons plus de 200 formulaires utilisant des ensembles de données et les changer tous n'est pas une option pour le moment.Comment pouvons-nous sérialiser de façon transparente les ExtendedProperties de Dataset dans WCF?
Merci beaucoup!
Oui, les WriteXml sérialisent déjà le contenu ExtendedProperties, mais en faisant un ToString() de l'objet. Ce dont j'ai besoin, c'est d'avoir un point juste avant la sérialisation et un autre juste après la désérialisation pour me permettre de transformer une chaîne en mes objets personnalisés. Vous m'avez donné un bon indice avec le DataContractSerializerOperationBehavior, je vais essayer avec celui-ci et vous communiquer mes résultats. – jmservera