Welche Art von Serialisierung verwendet Wcf im Hintergrund?

9

Ich weiß, dass es drei Arten von Serialisierung in .net gibt:

%Vor%

Wcf hat das DataContract-Attribut angewiesen, das auch serialisiert ... aber über was ?

Binär ist nicht - ich weiß.

Also nach welchem ​​Mechanismus ?

    
Royi Namir 03.09.2011, 08:26
quelle

2 Antworten

16

Es ist die für den angegebenen Endpunkt definierte Bindung, die den Serialisierungsmechanismus angibt. Zum Beispiel:

  • basicHttpBinding und wsHttpBinding verwenden SOAP
  • netTcpBinding verwendet die binäre Serialisierung
  • webHttpBinding könnte XML, Json, ...
  • verwenden

Sie können mehr über die verschiedenen integrierten Bindungen und ihre Eigenschaften auf diesem Artikel lesen . Dank der Erweiterbarkeit von WCF können Sie natürlich Ihre eigenen benutzerdefinierten Bindungen schreiben.

    
Darin Dimitrov 03.09.2011, 08:27
quelle
15

Sie vermasseln zwei Techniken zusammen.

  • Serialisierung - wie Objekte in Nachrichten konvertiert werden - Wir haben XML- und JSON-Formatierungen sofort verfügbar ( DataContractSerializer , DataContractJsonSerializer , XmlSerializer )
  • Codierung - wie die Nachricht übertragen wird - wir haben drei Encoder aus der Box
    • TextMessageEncoder - für SOAP-Nachrichten, die als Text übertragen werden - unterstützt auch MTOM und POX (Plain old XML), wenn die Nachrichtenversion auf None gesetzt ist
    • BinaryMessageEncoder - für XML / SOAP-Nachrichten, die als Binärdaten übertragen werden
    • WebMessageEncoder - für XML- und JSON-Nachrichten in REST-Diensten

Diese Features werden von Standardbindungen verwendet. WCF unterstützt so viele Serialisierungen und Encodierungen wie Sie möchten = & gt; Sie können Ihre eigenen bauen.

    
Ladislav Mrnka 03.09.2011 08:45
quelle

Tags und Links