快速掌握WCF序列化

近期看了大量关于WCF的资料,深入的了解了关于WCF的原理机制,我们都知道,WCF内置了两种序列化方式,DataContractSerializer和NetDataContractSerializer。现在就和大家简单的分析介绍一下WCF序列化方面的知识吧。

创新互联专注于九台网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供九台营销型网站建设,九台网站制作、九台网页设计、九台网站官网定制、小程序设计服务,打造九台网络公司原创品牌,更为您提供九台网站排名全网营销落地服务。

先来看看WCF序列化的声明:

 
 
  1. public sealed class DataContractSerializer : XmlObjectSerializer  
  2. {  
  3. public DataContractSerializer(Type type);  
  4.    …  
  5. public override object ReadObject(XmlReader reader);  
  6.  
  7. public object ReadObject(Stream stream);  
  8.  
  9. public void WriteObject(Stream stream, object graph);  
  10.  
  11. public override void WriteObject(XmlWriter writer, object graph);  
  12. …   
  13. }   
  14. public sealed class NetDataContractSerializer : XmlObjectSerializer, IFormatter  
  15. {  
  16. public NetDataContractSerializer();  
  17. …  
  18. public object Deserialize(Stream stream);  
  19. public void Serialize(Stream stream, object graph);  
  20.  
  21. public override object ReadObject(XmlReader reader);  
  22. public object ReadObject(Stream stream);  
  23. public void WriteObject(Stream stream, object graph);  
  24. public override void WriteObject(XmlWriter writer, object graph);  
  25. …  
  26. }  

#T#其中两者的ReadObject(Straem)、WriteObject(Stream, object)的实现继承自基类XmlObjectSerializer,其他方法均为已覆写或实现。从两个类型的声明中可以看出NetDataContractSerializer实现了IFormatter接口,而 DataContractSerializer没有,因此只有NetDataContractSerializer能使用.NET基础结构中的序列化,而 DataContractSerializer则是专用于WCF的。还有一个细节DataContractSerializer的Constructor有一个Type类型的参数,而NetDataContractSerializer没有。这可蕴藏着深意啊,读者接着看就明白了。

网站标题:快速掌握WCF序列化
URL地址:http://www.hantingmc.com/qtweb/news8/243358.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联