Good Practice to implement IUnkownSerilaizationData

Implementing the IUnknownSerializationData interface provides the advantage as it allows the different versions of the same data contract to evolve independently of each other, but still be used together.

As the IUnkonwnSerilaizationData interface is implemented, WCF set aside some memory that XmlFormatter can use for storing and retrieving the values of members that other versions of the same contract might have appended, thus enabling to pass more advanced versions of the same data contract to the service, with the members that are not the part of service version  of data contract.