在Web API中序列化继承的对象时遇到问题。
[DataContract]
public class Item{
[DataMember]
public int ID{get; set;}
[DataMember]
public string Name{get; set;} }
[DataContract]
public class SitecoreItem : Item{
[DataMember]
public DbType SitecoreInstance{get; set;} }
我试图从WebAPI返回上面提到的SitecoreItem,但它会尖叫序列化错误。我做错了什么?
答案 0 :(得分:4)
这与WCF中的序列化没有什么不同。只需使用KnownType
[DataContract]
[KnownType(typeof(SitecoreItem))]
public class Item{
[DataMember]
public int ID{get; set;}
[DataMember]
public string Name{get; set;} }
[DataContract]
public class SitecoreItem : Item{
[DataMember]
public DbType SitecoreInstance{get; set;}
}