Type '{0}' with data contract name '{1}:{2}' is not expected. Consider using a DataContractResolver or add any types not ...

Type '{0}' with data contract name '{1}:{2}' is not expected. Consider using a DataContractResolver or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to DataContractSerializer.