中文字幕激情小说-久久久久久久久99精品-日韩一级在线观看-久久久不卡-亚洲综合第一-色片在线观看-久久人人澡-a视频在线观看-在线超碰在线-中文字幕日韩免费-操处女逼视频-99热综合-美女天堂av-欧美大片aaa-日本熟妇乱人伦xxxx-网站在线播放-国产日韩久久

南京軟件定制開(kāi)發(fā)

南京傾心軟件歡迎您訪問(wèn)本站

13605185909

新聞資訊

NEWS CENTER
欄目導(dǎo)航

南京軟件開(kāi)發(fā)之類的序列化與反序列化

發(fā)布時(shí)間:Mar 01, 2021         已有 人瀏覽

什么是序列化以及如何實(shí)現(xiàn)序列化?

序列化是通過(guò)將對(duì)象轉(zhuǎn)換為字節(jié)流,從而存儲(chǔ)對(duì)象或?qū)?duì)象傳輸?shù)絻?nèi)存,數(shù)據(jù)庫(kù)或文件的過(guò)程。主要用途是保存對(duì)象的狀態(tài),包括對(duì)象的數(shù)據(jù),以便能夠在需要是重建對(duì)象。反向過(guò)程稱為 反序列化。

 

如上圖所示,對(duì)象 object 被序列化為 流,其中不僅包含數(shù)據(jù)、還包含對(duì)象類型的相關(guān)信息,如版本、區(qū)域性和程序集名稱。然后可以將此流中的內(nèi)容存儲(chǔ)到數(shù)據(jù)庫(kù)、文件或內(nèi)存中。

序列化的用途:

通過(guò)序列化,可以執(zhí)行如下操作:通過(guò) Web 服務(wù)將對(duì)象發(fā)送到遠(yuǎn)程應(yīng)用程序、在域之間傳遞對(duì)象、以 XML 字符串的形式傳遞對(duì)象通過(guò)防火墻、跨應(yīng)用程序維護(hù)安全性或用戶專屬信息。

讓對(duì)象可序列化:

需要具有對(duì)象、包含已序列化對(duì)象的一個(gè)流,以及一個(gè) Fromatter。

System.Runtime.Serialization 包含序列化和反序列化對(duì)象所必須的類。

將 SerializableAttribute 特性應(yīng)用于某個(gè)類型,以表示此類型的實(shí)例可以被序列化,如果對(duì)沒(méi)有 SerializableAttribute 特性的類型進(jìn)行序列化,則會(huì)引發(fā)異常。

如果想讓類中的某個(gè)字段不可序列化,可以使用 NonSerializedAttribute 特性。

序列化的三種類型--二進(jìn)制、XML、JSON

可以使用二進(jìn)制 binary 或 XML 進(jìn)行序列化,在 二進(jìn)制序列化中,所有內(nèi)容都會(huì)被序列化,且性能也很好,使用二進(jìn)制編碼來(lái)生成精簡(jiǎn)的序列化,可以用于基于存儲(chǔ)或socket的網(wǎng)絡(luò)流。

XML 序列化可提高可讀性,以及對(duì)象共享和使用的靈活性,XML 序列化將對(duì)象的公共字段和屬性或方法的參數(shù)和返回值序列化成符合特定 XML 格式的流,

System.Xml.Serialization 包含序列化和反序列化 XML 所需要的類

保存成二進(jìn)制數(shù)據(jù)流.用法示例:


序列化:

反序列化:

Copyright © 2020-2022 南京傾心軟件技術(shù)有限公司 版權(quán)所有     蘇ICP備2020070309號(hào)-1
QQ在線咨詢
13605185909
返回頂部
屯门区| 兴义市| 深泽县| 泰兴市| 信宜市| 延长县| 恭城| 噶尔县| 玉溪市| 盖州市| 阿图什市| 曲水县| 高淳县| 广州市| 昌都县| 普兰店市| 平安县| 台中县| 五常市| 社会| 肃宁县| 北宁市| 三明市| 湛江市| 建始县| 大竹县| 贵定县| 库车县| 名山县| 精河县| 化德县| 山阳县| 宿松县| 辉南县| 满城县| 远安县| 泰和县| 武城县| 镶黄旗| 登封市| 邯郸市|