Dans le besoin de sérialiser un objet et il est possible que la version de l'ensemble a changé lors de la désérialisation. De plus, il peut arriver que l'objet change un peu. XmlSerializer ne stocke pas d'informations de type et si l'objet change un bit, il n'échoue pas, mais XmlSerializer ne peut pas sérialiser les propriétés privées ou internes d'une super classe que je ne peux pas marquer avec des attributs. J'ai donc jeté un coup d'œil au DataContractSerializer. Cela semble bien, donc le problème avec les propriétés privées/internes de la super classe serait résolu, toutes les propriétés devraient être marquées et je n'en ai pas besoin, mais qu'en est-il des informations de type? Et comment se comporte le DataContractSerializer, si certaines propriétés sont supprimées, renommées ou ajoutées?Lequel mieux gérer Versioning? XmlSerializer vs DataContractSerializer?
4
A
Répondre
2
J'ai fait un test avec DataContractSerializer et il semble que le DataContractSerializer soit très tolérant vis-à-vis des changements d'objet, donc je vais utiliser l'approche.
0
Il est toujours possible d'utiliser XmlSerializer pour vos besoins. Mais vous devrez implémenter la logique de sérialisation personnalisée en utilisant l'interface IXmlSerializable
.
1
Ceci n'est pas marqué comme une question WCF, mais le fait que vous parlez de DataContractSerializer me fait penser que vous travaillez dans WCF. Si tel est le cas, il peut être utile de regarder dans l'interface IExtensibleDataObject.
Référez:
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iextensibledataobject.aspx
et
Questions connexes
- 1. SVN Versioning
- 2. lequel des éléments suivants est mieux pour eventhandling C#
- 3. Tamponné vs non tamponné, lequel utiliser?
- 4. MVP vs. Modèle de présentation, lequel est le meilleur?
- 5. array_push() vs $ array [] = .... Lequel est le plus rapide?
- 6. Versioning pour les nuls
- 7. Bamboo Versioning
- 8. Javadoc versioning
- 9. Ignorer l'ordre des champs dans DataContractSerializer
- 10. Comment gérer au mieux l'authentification via l'URL en PHP
- 11. Comment gérer au mieux les photos transmises à IFilter?
- 12. Comment gérer au mieux le stockage des données historiques?
- 13. DataContractSerializer manquant dans le .NET Compact Framework
- 14. DataContractSerializer: préserver les références
- 15. DataContractSerializer, KnownType et l'héritage
- 16. COM avec ATL Versioning
- 17. ASP.NET MVC Versioning Problème
- 18. Interfaces et versioning
- 19. Versioning d'assemblage avec CruiseControl.net
- 20. versioning en dot net
- 21. Saut DataContractSerializer OpenAccess Version de la version
- 22. Auto-versioning DLL dans Visual Studio 2008
- 23. Contrôle du WCml XmlSerializer
- 24. XmlSerializer, sgen.exe et génériques
- 25. champs XmlSerializer et XmlElement
- 26. exception FileNotFound lors de l'utilisation XmlSerializer
- 27. Site Web Architecture Module Versioning
- 28. System.MissingMethodException - 3.5 SP1 versioning enfer
- 29. Comment gérer au mieux les gigantesques fichiers de code source dans Visual Studio
- 30. XmlSerializer étouffe sur xsi: type?
Vous pourriez être intéressé aussi dans le NetDataContractSerializer http://msdn.microsoft.com/en-us/library/system. runtime.serialization.netdatacontractserializer.aspx Spécifiquement pour les objets .NET – bendewey
NetDataContractSerializer stocke la définition du type explizit de l'objet sérialisé. Puisque nous utilisons une dénomination forte, cela pose beaucoup de problèmes si nous essayons de désérialiser un objet avec une autre version d'assemblage. – Enyra