將物件狀態 (公私有欄位、類別名稱、組件資訊) 轉換為位元組流寫入儲存媒介,反序列化可重建精確複本。
BinaryFormatter:完整保留型別資訊、私有欄位、物件圖參考,體積較大,效能較高,限 .NET 間互通。[Serializable] 標記可序列化類別。SoapFormatter:產生符合 SOAP 1.1 規範的 XML,跨平台互通,適合 Web Service 訊息編碼。[Serializable],可搭配 [SoapIgnore]、[SoapElement] 控制 XML 結構。[Serializable]
public class UserProfile
{
public string UserName;
public string Signature;
// 二進位序列化
public byte[] SerializeBinary() { ... }
// SOAP 序列化
public string SerializeSoap() { ... }
}
序列化是分散式系統與靈活資料模型的基石。二進位適合高效能 .NET 內部持久化,SOAP 適合異構系統整合。