如果你正在使用WCF,有很多不同的方法來替換DataContractResolver,我想用Web Api做同樣的事情。唯一的擴展點,我發現是這樣的:如何替換Web Api堆棧中的DataContractResolver?
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的Read/Write方法中指定它。但是,這是旁白,WCF提供了擴展點,我很驚訝,網絡API似乎並沒有提供類似的東西 – Marius