WCF — Data Contract version round-tripping using IExtensibleDataObject
With WCF, provided that you’re using the DataContractSerializer and not the NetDataContractSerializer, you have a certain degree of protection against data contract changes from the client’s perspective.