我最近學習remoting和web服務時,總是看到一個重要的字眼"序列化".
那什麼是序列化呢?
以前我也模模糊糊.
為了搞清楚,請和我一起來序列化學習之旅吧.
讓我們先看看序列化的定義,以下是微軟的說明:
序列化可被定義為將對象的狀態存儲到存儲媒介中的過程。在此過程中,對象的公共字段和私有字段以及類的名稱(包括包含該類的程序集)都被轉換為字節流,然後寫入數據流。在以後反序列化該對象時,創建原始對象的精確復本
序列化一般用在2種地方:
1.將數據保持到存儲中
例如:我知道在Asp.Net Forums中有.Net中序列化和反序列化的應用
在Forums中,有些內容是不固定的,如用戶資料,除了一些基本資料,可能還要MSN、個人主頁、簽名等.我們一般是一個屬性對應於表中的一個字段,要是以後我們增加一些新屬性,就得增加表字段,還要修改存儲過程,這樣其不麻煩?
在Asp.Net Forums中把用戶資料序列化為2進制,這樣用一個表字段就可以解決問題,並且擴展性好。
2.通過值將對象從一個應用程序域發送到另一個應用程序域中
remoting和web服務就是典型的應用
說多了沒用,讓我們來一段代碼吧