溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

序列化指的是什么意思

發(fā)布時間:2020-12-08 10:42:35 來源:億速云 閱讀:242 作者:小新 欄目:編程語言

這篇文章主要介紹了序列化指的是什么意思,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

序列化是什么意思?

序列化(XML)是將對象實例的狀態(tài)信息轉(zhuǎn)換為二進(jìn)制或文本形式以便持久存儲到存儲介質(zhì)或通過網(wǎng)絡(luò)傳輸?shù)倪^程。簡單來說,序列化是將具有子對象的對象實例轉(zhuǎn)換為線性字節(jié)流的過程。

序列化由公共語言運行時(CLR)執(zhí)行,以將對象的當(dāng)前狀態(tài)信息保存到臨時(如ASP.NET緩存)或永久存儲(文件,數(shù)據(jù)庫等),以便以后用于更新對象相同的信息。它涉及將對象的公共成員和私有成員(包括類和程序集的名稱)轉(zhuǎn)換為字節(jié)流,然后將其寫入數(shù)據(jù)流。將比特流轉(zhuǎn)換為對象的逆過程稱為反序列化。

.NET框架提供了兩種序列化方法,即二進(jìn)制序列化和XML序列化。

二進(jìn)制序列化通過保留類型保真度來保留應(yīng)用程序的不同調(diào)用之間的對象狀態(tài)。

XML序列化使用XML作為開放標(biāo)準(zhǔn),僅序列化公共屬性和字段。它不保留類型保真度,但為人類可讀的跨平臺XML中的序列化提供支持。

.NET框架還提供了許多選項來自定義序列化過程以滿足應(yīng)用程序要求。

如何實現(xiàn)序列化?

當(dāng)大量數(shù)據(jù)必須存儲在平面文件中并在稍后的階段檢索時,使用序列化。要做到這一點,如果沒有了序列化,它就變得過于乏味,容易出錯和復(fù)雜的數(shù)據(jù)結(jié)構(gòu)是復(fù)雜的。

反射是.NET框架提供的一種技術(shù),用于自動將程序集的所有成員序列化為存儲。

遠(yuǎn)程處理是一種使用二進(jìn)制序列化的方法,將方法中的參數(shù)從一臺計算機發(fā)送到另一臺計算機。它的使用示例包括將會話狀態(tài)保存在ASP.NET中、將對象復(fù)制到Windows窗體的剪貼板中,等等。

序列化(XML)主要用于跨網(wǎng)絡(luò)共享數(shù)據(jù),而不限制應(yīng)用程序?qū)?shù)據(jù)的使用。

通過將可序列化的屬性包含到類中,可以在任何.NET對象中實現(xiàn)序列化。

通過將OptionalField屬性標(biāo)記為新添加的類成員,可以毫無錯誤地讓對象的早期版本進(jìn)行反序列化。

NET框架中使用的序列化引擎確保每個對象只進(jìn)行一次序列化,并自動處理對象圖和循環(huán)引用。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享序列化指的是什么意思內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI