Qual melhor alças Versioning? XmlSerializer vs. DataContractSerializer?

votos
4

Na necessidade de serializar um objeto e é possível que a versão de montagem alterada durante a desserialização. Além disso, ele pode acontecer, que o objeto muda um pouco.

Será que o XmlSerializer não armazenar informações de tipo e se o objeto muda um pouco, ele simplesmente não falhar, mas o XmlSerializer não pode serializar propriedades privadas ou internas de uma classe de super Eu não pode marcar com atributos. Então, eu tinha um olhar para o DataContractSerializer. Ele parece bem tão tarifa, o problema com as propriedades privadas / internos da classe Super seriam resolvidos, todas as propriedades têm de ser marcado e eu não precisar deles, mas que sobre o tipo de informação? E como é que o DataContractSerializer se comportar, se algumas propriedades são removidos, rebatizado ou adicionado?

Publicado 19/05/2009 em 15:59
fonte usuário
Em outras línguas...                            


3 respostas

votos
2

Eu fiz um teste com o DataContractSerializer e parece como o DataContractSerializer é muito tolerante contra alterações objeto, por isso vou usar a abordagem.

Respondeu 20/05/2009 em 10:17
fonte usuário

votos
1

Isto não é marcado como uma pergunta WCF, mas o fato de que você está falando DataContractSerializer me faz pensar que você está trabalhando dentro WCF. Se for esse o caso, pode ser worhtwhile olhando para a interface IExtensibleDataObject.

Referir:

http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iextensibledataobject.aspx

e

http://msdn.microsoft.com/en-us/library/ms731138.aspx

Respondeu 27/09/2010 em 01:54
fonte usuário

votos
0

Ainda é possível usar XmlSerializer para suas necessidades. Mas você vai ter que implementar a lógica de serialização personalizada usando IXmlSerializableinterface.

Respondeu 19/05/2009 em 17:08
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more