Frage

Mein Kollege hat sich in einem „interessanten“ Situation gefunden. Er arbeitet an einer Silverlight (2.0) Prototyp, der bestehenden Web-Services im Unternehmen anrufen muss und binden die zurückgegebenen Daten zu Daten-Display steuert. Die Sache ist, die Web-Services .NET Datasets zurückgeben (sie sind nicht im Begriff sind, bestehende Implementierungen zu ändern) und Silverlight nicht nativ Datasets unterstützen.

Was wäre eine gute Abhilfe? Ich wurde ein Adapter Muster zu denken, aber nicht wissen, ob Mitte-Mann Web-Services-Transformationen eine sehr gute Idee wären auszuführen. Könnte langweilig sein, wenn es viele bestehende Web-Services sind.

War es hilfreich?

Lösung

AFAIK, wenn ein .NET Web-Service ein DataSet zurückgibt, gibt er seine XML-Darstellung (was ziemlich freundlich ist). Die Tatsache, dass ein .NET-Client den Datensatz direkt verbrauchen kann abstrahiert nur die Tatsache, dass eine XML-Serialisierung-Deserialisierung stattfindet.

Also habe ich manuell die Web-Services abfragen, würden Sie brauchen, beachten Sie die generierte XML, und dann analysieren sie in der Client-Seite.

Eine weitere Möglichkeit sich die Tatsache zunutze zu nehmen ist, dass Web Services die Standard-XML-Serializer verwenden, so könnte man die C # -Klassen aus dem zurückgegebenen Schema erstellen und dann lassen Sie die XmlSerializer automatisch handhaben. Ich bin mir nicht sicher, ob der Code durch das XSD.exe erzeugte Werkzeug freundlich Silverlight werden, aber es lohnt sich, einen Schuss geben.

Andere Tipps

Versuchen Sie Folgendes: http://silverlightdataset.net

Die Gefahren und allgemeine nastyness von Datensammlungen eh. Ich würde eine generische Proxy verwenden, die zum Verzehr des Webmethod und die Umwandlung der Datenmenge in der xml / json

verantwortlich ist

Yup, Silverlight ds eine große Lösung ist, sie auch Beziehungen in sie eingebaut haben

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top