千家信息网

WCF序列化是什么

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,本篇内容介绍了"WCF序列化是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!近期看了大量关于WC
千家信息网最后更新 2024年11月23日WCF序列化是什么

本篇内容介绍了"WCF序列化是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

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

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

public sealed class DataContractSerializer : XmlObjectSerializer  {  public DataContractSerializer(Type type);     …  public override object ReadObject(XmlReader reader);   public object ReadObject(Stream stream);   public void WriteObject(Stream stream, object graph);   public override void WriteObject(XmlWriter writer, object graph);  …   }   public sealed class NetDataContractSerializer : XmlObjectSerializer, IFormatter  {  public NetDataContractSerializer();  …  public object Deserialize(Stream stream);  public void Serialize(Stream stream, object graph);   public override object ReadObject(XmlReader reader);  public object ReadObject(Stream stream);  public void WriteObject(Stream stream, object graph);  public override void WriteObject(XmlWriter writer, object graph);  …  }

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

"WCF序列化是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0