我正在使用WEB API返回一个对象(类)。
类已经使用System.Xml.Serialization属性进行结构化,这使得使用WEB API很难返回整个类,因为它暴露了更多它应该。我不认为这是序列化类并返回字符串的解决方案,所以我想返回一个可序列化的对象。
以下是我班级的简短例子
[XmlIgnore]
[System.Xml.Serialization.XmlAttributeAttribute()]
public SettingEnums.currencyCodesEnum currency
{
get;
set;
}
[XmlAttributeAttribute("currency")]
public string Serializablecurrency
{
get { return this.currency.ToString(); }
set { }
}
如何返回遵循此类中定义的序列化属性的可序列化对象?
答案 0 :(得分:1)
ASP.NET Web API确实使用在类级别定义的序列化属性。但是,XmlMediaTypeFormatter
默认使用DataContractSerializer
。由于您使用的是XmlSerializer
,因此您需要告诉Web API使用相同的内容。
GlobalConfiguration.Configuration.Formatters
.XmlFormatter.UseXmlSerializer = true;