久久一区二区中文字幕_日韩人体视频_国产影视一区_久久爱www.

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

南京傾心軟件歡迎您訪問本站

13605185909

新聞資訊

NEWS CENTER
欄目導(dǎo)航

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

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

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

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

 

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

序列化的用途:

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

讓對象可序列化:

需要具有對象、包含已序列化對象的一個流,以及一個 Fromatter。

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

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

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

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

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

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

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

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


序列化:

反序列化:

Copyright © 2020-2022 南京傾心軟件技術(shù)有限公司 版權(quán)所有     蘇ICP備2020070309號-1
QQ在線咨詢
13605185909
返回頂部
主站蜘蛛池模板: 土默特左旗| 孝昌县| 沂源县| 云南省| 张家口市| 班玛县| 德惠市| 三穗县| 巨野县| 乐业县| 永仁县| 张北县| 栖霞市| 靖西县| 罗源县| 乡宁县| 龙陵县| 阿克苏市| 营山县| 齐齐哈尔市| 嵊泗县| 渝中区| 永城市| 璧山县| 庆阳市| 广东省| 开封市| 锡林浩特市| 桐梓县| 防城港市| 翁源县| 新蔡县| 双鸭山市| 丘北县| 手游| 堆龙德庆县| 东至县| 紫阳县| 邮箱| 买车| 泸溪县|