如果您使用WCF,有很多种方法可以替换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();
答案 0 :(得分:0)
如果你想使用XmlSerializer那么
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true
如果这不符合您的需求,那么
GlobalConfinguration.Configuration.Formatters.Clear();
GlobalConfinguration.Configuration.Formatters.Add(new YourOwnFormatterCanGoHere());
还有一点。我一直使用Web API,现在已经使用了几年,我很少使用格式化程序。我使用派生版本的HttpContent返回HttpResponseMessage。不是说你应该这样做,只是说在Web API中有很多方法可以做。格式化程序不是必需的。