2010-10-29 4 views

Antwort

5

Sie können das XmlSerializerFormatAttribute-Attribut in Ihrem Servicevertrag verwenden, um zu erzwingen, dass WCF XmlSerializer verwendet.

1

Die Standardauswahl von DataContractSerializer ist für die meisten Zwecke gut. Sie können die DataContractJsonSerializer auch speziell für REST-Typ-Dienste verwenden und wenn der Client Json-Inhaltstyp erwartet. Die andere Option ist XmlSerializer für Interoperabilitätszwecke, wenn Sie mehr Kontrolle über das generierte XML benötigen. DataContractSerializer ist effizienter als XmlSerializer.

In 3rd Party Optionen können Sie protobuf-net von Google verwenden, die effizienter als DataContract Serializer ist.

4

WCF hat eine nette Funktion, die eine Methode Message oder Stream zurückgeben kann (siehe Returning raw json (string) in wcf und How to set Json.Net as the default serializer for WCF REST service als Beispiele). Der entsprechende Code, den Sie schreiben müssen, kann einfacher sein, als wenn Sie mehr fortgeschrittene Techniken verwenden würden Extending Encoders and Serializers. So ist es beispielsweise sehr einfach, Streaming Message Transfer zu implementieren oder JPG- oder Excel-Dateien als Ergebnis einer WCF-Methode zurückzugeben.

Verwandte Themen