Question

Mon collègue s'est retrouvé dans un "intéressant". situation. Il travaille sur un prototype Silverlight (2.0) qui doit appeler des services Web existants dans l'entreprise et lier les données renvoyées aux contrôles d'affichage des données. En réalité, les services Web renvoient des ensembles de données .NET (ils ne sont pas sur le point de modifier les implémentations existantes) et Silverlight ne prend pas en charge de manière native les ensembles de données.

Quelle serait une bonne solution de contournement? Je pensais à un modèle d’adaptateur, mais je ne savais pas si les services Web intermédiaires pour effectuer des transformations seraient une très bonne idée. Cela peut être fastidieux s’il existe de nombreux services Web existants.

Était-ce utile?

La solution

Si je comprends bien, lorsqu'un service Web .NET renvoie un ensemble de données, il retourne sa représentation XML (ce qui est plutôt convivial). Le fait qu'un client .NET puisse consommer directement le DataSet ne fait qu'abstruire le fait qu'une sérialisation-désérialisation Xml est en cours.

Je voudrais donc interroger manuellement les services Web dont vous avez besoin, observer le code XML généré, puis l'analyser côté client.

Une autre possibilité consiste à tirer parti du fait que les services Web utilisent le sérialiseur XML standard pour vous permettre de créer les classes C # à partir du schéma renvoyé, puis de laisser XmlSerializer le gérer automatiquement. Je ne sais pas si le code généré par l'outil XSD.exe sera compatible avec Silverlight, mais cela vaut la peine de tenter le coup.

Autres conseils

Essayez les solutions suivantes: http://silverlightdataset.net

Les dangers et la méchanceté générale des jeux de données hein. J'utiliserais un proxy générique chargé de consommer la méthode Web et de transformer l'ensemble de données en xml / json

Oui, silverlight ds est une excellente solution. Ils ont même des relations intégrées

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top