本篇文章要跟大家介紹序列化是什麼意思?讓大家對序列化有初步的了解。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。
序列化是什麼意思?
序列化(XML)是將物件實例的狀態資訊轉換為二進位或文字形式以便持久儲存到儲存媒體或透過網路傳輸的過程。簡單來說,序列化是將具有子物件的物件實例轉換為線性位元組流的過程。
序列化由公共語言執行時間(CLR)執行,以將物件的當前狀態資訊儲存到臨時(如ASP.NET快取)或永久儲存(文件,資料庫等),以便日後用於更新物件相同的資訊。它涉及將物件的公共成員和私有成員(包括類別和組件的名稱)轉換為位元組流,然後將其寫入資料流。將比特流轉換為物件的逆過程稱為反序列化。
.NET框架提供了兩種序列化方法,即二進位序列化和XML序列化。
二元序列化透過保留類型保真度來保留應用程式的不同呼叫之間的物件狀態。
XML序列化使用XML作為開放標準,僅序列化公共屬性和欄位。它不保留類型保真度,但為人類可讀的跨平台XML中的序列化提供支援。
.NET框架也提供了許多選項來自訂序列化過程以滿足應用程式要求。
如何實現序列化?
當大量資料必須儲存在平面檔案中並在稍後的階段檢索時,使用序列化。要做到這一點,如果沒有了序列化,它就變得過於乏味,容易出錯和複雜的資料結構是複雜的。
反射是.NET框架提供的技術,用於自動將組件的所有成員序列化為儲存。
遠端處理是一種使用二進位序列化的方法,將方法中的參數從一台電腦傳送到另一台電腦。它的使用範例包括將會話狀態保存在ASP.NET中、將物件複製到Windows窗體的剪貼簿中,等等。
序列化(XML)主要用於跨網路共享數據,而不限制應用程式對數據的使用。
透過將可序列化的屬性包含到類別中,可以在任何.NET物件中實現序列化。
透過將OptionalField屬性標記為新新增的類別成員,可以毫無錯誤地讓物件的早期版本進行反序列化。
NET框架中使用的序列化引擎確保每個物件只進行一次序列化,並自動處理物件圖和循環參考。
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
以上是序列化是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!