What is the difference between DataContractResolver and DataContractSurrogate?
These both are used to change the type of the object while serialization or deserialization what is the difference between these two? Which is better in case of versioning of objects?