Есть несколько способов заменить DataContractResolver, если вы используете WCF, я хочу сделать то же самое с веб-Api. Только точка расширения, я нашел это:Как заменить DataContractResolver в стек Web Api?
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SetSerializer<Person>(new DataContractSerializer(typeof(Person), null, Int32.MaxValue, false, false, null, new TypeNameVersioning()));
Я ищу что-то в строке (псевдо-код):
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SetDataContractResolver = new TypeNameVersioning();
DataContractResolver может устанавливаться только в конструкторе DataContractSerializer, поэтому вам действительно нужно создать новый DataContractSerializer – LostInComputer
Не совсем, вы также можете указать его в методах чтения/записи на DataContractSerializer. Но это не так, WCF предоставляет точки расширения. Я удивлен, что веб-api, похоже, не дает что-то подобное. – Marius