Przechodziłem przez Podstawy WCF, Czy ktoś może powiedzieć, że w jakich scenariuszach powinniśmy używać DataContractSerializer i XmlSerializer?Różnica między DataContractSerializer a XmlSerializer
9
A
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
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.
DataContractSerializer jest w stanie serializować typy implementujące Idictionary, podczas gdy Serializator XML nie.
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.