Почему я должен использовать DataContract Serializer, когда у меня есть XML / Binary serializer? - PullRequest
1 голос
/ 05 августа 2010

Может кто-нибудь, пожалуйста, сообщите мне причины, по которым я должен использовать Data Contract Serializer. в то время как у нас уже есть XML / Binary serializer в .Net?

Ответы [ 2 ]

1 голос
/ 05 августа 2010

Это сайт, который я нашел, когда изучал ту же проблему. Вы должны проверить это из

Цитирование по той же ссылке, указанной выше:

Преимущества DataContractSerializer по сравнению с XMLSerializer

  1. Отключить, а не отказаться от свойств для сериализации.
  2. Поскольку она включена, вы можете сериализовать не только свойства, но и поля. Вы даже можете сериализовать непубличных участников, таких как частные или защищенные участники. И вам также не нужен набор для свойства (однако без установщика вы можете сериализовать, но не десериализовать)
  3. Примерно на 10% быстрее, чем XmlSerializer, сериализует данные, потому что, поскольку вы не имеете полного контроля над тем, как они сериализуются, можно многое сделать для оптимизации процесса сериализации / десериализации.
  4. Может понимать атрибут SerializableAttribute и знать, что его нужно сериализовать
  5. Дополнительные параметры и контроль над KnownTypes

Надеюсь, это поможет!

0 голосов
/ 25 января 2012

Еще одно ОГРОМНОЕ преимущество; Сериализация DataContract позволяет взаимодействовать между любыми двумя классами, которые реализуют один и тот же DataContract. Это то, что позволяет WCF автоматически генерировать для вас классы данных, когда вы ссылаетесь на службу WCF. Вы также можете «взломать» этот процесс, сославшись на опубликованный DataContract в новом пользовательском классе (или двух, или трех); Затем вы можете передавать данные между экземплярами этих классов и любыми другими новыми, созданными вами, через сериализацию. Это также возможно, но намного сложнее с сериализацией XML и невозможно с двоичной сериализацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...