在ASP.NET的Web API序列化继承类型 [英] Serializing inherited types in ASP.NET Web API

查看:153
本文介绍了在ASP.NET的Web API序列化继承类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在网页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;} }

我想从返回的WebAPI上述SitecoreItem,但它尖叫序列化的错误。我在做什么错了?

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

推荐答案

这是不超过WCF的序列化不同。只需使用 KnownType

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;} 
}

这篇关于在ASP.NET的Web API序列化继承类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆