在ASP.NET Web API中序列化inheritance的类型
在Web API中序列化inheritance对象时遇到问题。
[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,但它尖叫序列化错误。 我究竟做错了什么?
这与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;} }