2014-09-09 5 views

Odpowiedz

8

DataContractSerializer

  • ma być używany do serializacji/deserializacji klasy w WCF usługi do iz obu JSON lub XML.
  • serializuje właściwości i pola.
  • Jest szybszy niż XmlSerializer
  • Nie kontroluje sposobu generowania xml. nie powinny być stosowane, gdy wymagana jest pełna kontrola na wygenerowanym strukturze XML

XMLSerializer

  • XmlSerializer jest tylko dla serializacji XML
  • Obsługuje pełną kontrolę nad strukturą XML
  • serializes tylko właściwości publiczne
8
  1. DataContractSerializer ma wyższą wydajność niż Xmlserializer. Dzieje się tak dlatego, że DataContratSerializer jawnie pokazuje, które pola lub właściwości są serializowane do XML.

  2. DataContractSerializer jest w stanie serializować typy implementujące Idictionary, podczas gdy Serializator XML nie.

  3. DataContractSerializer serializuje wszystkich członków, którzy są oznaczeni atrybutem [DataMember], nawet jeśli element członkowski jest oznaczony jako prywatny. Serializator XML serializuje tylko członków publicznych.

Oto kilka ważnych różnic.