type net negotiation mvc jsonformatter globalconfiguration formatters content asp .net serialization

.net - net - mediatypeformatter



DataContractSerializer vs XmlSerializer: Pros y contras de cada serializador (1)

Dan Rigsby tiene la última publicación sobre esto - ¡léelo!

XmlSerializer vs. DataContractSerializer (archivo web)

Él dice todo lo que hay para decir, y de una manera muy convincente.

En breve:

XmlSerializer:

  • ha existido por mucho tiempo
  • es "opt-out"; todo lo público se serializa, a menos que le diga que no lo haga ([XmlIgnore])

DataContractSerializer es:

  • el chico nuevo en la ciudad
  • optimizado para la velocidad (aproximadamente un 10% más rápido que XmlSerializer, por lo general)
  • "opt-in": solo se serializarán las cosas que marque específicamente como [DataMember]
  • pero todo lo marcado con [DataMember] será serializado, ya sea public o private
  • no admite atributos XML (por razones de velocidad)

Mi aplicación de escritorio serializa objetos usando XmlSerializer . Me sugirieron aprovechar DataContractSerializer lugar.
¿Bajo qué escenarios debería usar DataContractSerializer ?

Muchas gracias

Comentarios.
1. El archivo XML de salida se almacena localmente. Ninguna otra aplicación deserializa los objetos de ese archivo XML.
2. Mi aplicación se ejecuta con .NET Framework 3.5 SP1.