新聞中心
近期看了大量關(guān)于WCF的資料,深入的了解了關(guān)于WCF的原理機(jī)制,我們都知道,WCF內(nèi)置了兩種序列化方式,DataContractSerializer和NetDataContractSerializer?,F(xiàn)在就和大家簡(jiǎn)單的分析介紹一下WCF序列化方面的知識(shí)吧。

創(chuàng)新互聯(lián)專注于九臺(tái)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供九臺(tái)營(yíng)銷型網(wǎng)站建設(shè),九臺(tái)網(wǎng)站制作、九臺(tái)網(wǎng)頁(yè)設(shè)計(jì)、九臺(tái)網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造九臺(tái)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供九臺(tái)網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
先來(lái)看看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);
- …
- }
#T#其中兩者的ReadObject(Straem)、WriteObject(Stream, object)的實(shí)現(xiàn)繼承自基類XmlObjectSerializer,其他方法均為已覆寫(xiě)或?qū)崿F(xiàn)。從兩個(gè)類型的聲明中可以看出NetDataContractSerializer實(shí)現(xiàn)了IFormatter接口,而 DataContractSerializer沒(méi)有,因此只有NetDataContractSerializer能使用.NET基礎(chǔ)結(jié)構(gòu)中的序列化,而 DataContractSerializer則是專用于WCF的。還有一個(gè)細(xì)節(jié)DataContractSerializer的Constructor有一個(gè)Type類型的參數(shù),而NetDataContractSerializer沒(méi)有。這可蘊(yùn)藏著深意啊,讀者接著看就明白了。
網(wǎng)頁(yè)題目:快速掌握WCF序列化
文章源于:http://fisionsoft.com.cn/article/cdspsii.html


咨詢
建站咨詢
