user1450997
user1450997

Reputation:

Serializing inherited types in ASP.NET Web API

I have a problem when serializing inherited objects in 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;} }

I am trying to return the above mentioned SitecoreItem from WebAPI, but it screams serialization errors. What am I doing wrong?

Upvotes: 5

Views: 2606

Answers (1)

Filip W
Filip W

Reputation: 27187

This is no different than serialization in WCF. Just use 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;} 
}

Upvotes: 4

Related Questions