locked
Aus der App-Entwickler-Hotline: MessageContract vs. DataContract RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

    Ich beschäftige mich gerade mit SOAP basierten Webservices, welche ich mithilfe von WCF implementiere. Nun bin ich auf die Attribute MessageContract und DataContract gestoßen. Wo liegt der Unterschied und wie entscheide ich mich zwischen ihnen?

    Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

    In dem hier erwähnten Szenario kommuniziert im Allgemeinen ein Client mit dem Webservice. Dabei werden Daten zwischen dem Client und Webservice ausgetauscht. Diese Daten werden als SOAP Nachricht übertragen, was einfach ausgedrückt bedeutet, dass die Daten zunächst als XML Datei serialisiert und danach mithilfe eines geeigneten Protokolls (HTTP, SMTP) übertragen werden. Nun liegt der Unterschied zwischen dem verwenden von MessageContract und DataContract in der Granulierungsfähigkeit einer Soap Nachricht. Mithilfe von MessageContracts ist es unter anderem möglich, den Header der SOAP – Nachricht zu bestimmen. Diese Funktionalität wird häufig dafür verwendet, um Lizenzschlüssel zu übertragen. Wohingegen der DataContract im Allgemeinen nur die Möglichkeit bietet den SOAP – Body eingeschränkt festzulegen. Welcher dieser beiden Contracts benutzt werden soll, hängt also davon ab, wie sehr man die SOAP Nachrichtenformatierung beeinflussen möchte.

    Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

    Viele Grüße,
    Markus Kocybik
    App-Entwickler-Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

    Donnerstag, 23. Januar 2014 10:46