Frage

Hallo nochmal, meine Damen und Herren!

OK, im Anschluss an meine andere Frage auf ASP.NET Web-Service-Ergebnisse, Proxy-Klassen und Typ-Konvertierung.Ich bin gekommen, um ein Teil in meinem Projekt, wo ich brauche, um mein denken Kappe auf.

Im Grunde, wir haben eine große, komplexe benutzerdefinierte Objekt, das zurückgegeben werden muss von einem Web-Service und verbraucht in der client-Anwendung.

Nun, auf der Grundlage der vorangegangenen Diskussion, wir wissen, das wird dann in der form einer proxy-Klasse(N) als die zurück-Typ.Um dies zu überwinden, müssen wir im Grunde kopieren der Eigenschaften von einem zum anderen.

In diesem Fall, das ist etwas, dass ich wirklich, wirklich, wirklich! wie zu vermeiden!

So, es hat mich zu denken, wie sonst könnten wir das tun?

Meine aktuellen Gedanken zu aktivieren das Objekt für eine vollständige Serialisierung in XML und dann wieder die XML als string aus dem Web-Service.Wir haben dann de-serialisieren an den client.Dies bedeutet ein gutes Stück Attribut dekorieren, aber zumindest den code an beiden Endpunkten wird leicht sein, nämlich, indem Sie einfach mit der .NET XML-Serializer.

Was sind deine Gedanken dazu?

War es hilfreich?

Lösung

Die .Net XML - (de)serialisieren ist ziemlich gut umgesetzt.Dachte zuerst, ich glaube nicht, dass dies eine schlechte Idee.

Wenn die beiden Anwendungen importieren, die das gleiche C# - Klasse(N) definition(en), dann ist dies ein relativ netter Weg, um copy-Konstruktor Verhalten für Sie kostenfrei.Wenn die Klasse, Struktur ändert, dann wird alles funktionieren, wenn beide Seiten die neue Klassendefinition, ohne zusätzliche änderungen auf der web-service-Verbrauch/ - Bau.

Es gibt eine leichte overhead in marshalling und demarshalling die XML, aber das ist wohl dwarved durch den overhead des remote-web-service-Aufruf..Net XML-serialisieren ist gut verstanden, die von den meisten Programmierern und erzeugen soll, ein leicht zu pflegen-Lösung.

Andere Tipps

Ich bin liebevoll JSON für diese Art von Sache.Ich habe gerade einen POC drop-Dinge, die Typ-portal für mein Unternehmen verwenden jQuery Kontakt-web-services mit dem Skript-Dienst aktiviert ist.Die Nachrichten sind leicht und Analyse usw ist ziemlich viel behandelt.Die jQuery ajax Sachen, die ich Lesen konnte, war hier (Liebe es!) : jquery-ajax-Artikel

Ich hatte einige großartige Antworten auf einem sehr ähnlichen Thema von gestern, die nützlich für dich sein könnten:

Die Kommunikation zwischen javascript und dem server

Rob, im Blick auf Ihre andere Frage, so gut, es klingt wie die genaue situation, die wir in unserer Umwelt.Was wir getan haben, ist jedoch Weg von ASP.Net web-services-WCF-web-services und im Prozess gelöst (zum größten Teil) dieses problem.

Wenn es irgendeine chance, Ihren web-service implementiert werden konnte, wie einen WCF-Dienst, könnte dies für Sie funktionieren.Ich sollte erwähnen, dass zur gleichen Zeit, wir habe gepflegt rückwärts Kompatibilität mit client-Anwendungen, die brauchen das "ASP.Net web-service-Stil" der Umsetzung mithilfe des WCF-basichttp-Bindung für den service-transport.Das Endergebnis ist, dass unser "neuer" client-Anwendungen sind in der Lage zu verwenden Sie unser real-business-Objekten (durch verweisen auf eine assembly, die nur diese shared objects), wie die Rückkehr Arten von web-service-Aufrufe, da Sie die tatsächlichen WCF-Aufrufe.

Wir tun dies, indem Sie nicht die Verwendung der automatisch generierten proxy-Klassen und bauen unsere eigene client-Kanal für die Kommunikation mit dem WCF-Dienst.

Wenn Sie können möglicherweise verwenden, WCF, lassen Sie mich wissen, ich kann nach einigen zusätzlichen Informationen.

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