首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

MCAD 學習筆記:序列化入門 - 二進位與 SOAP 序列化應用場景

     編輯:關於ASP.NET

序列化定義

將物件狀態 (公私有欄位、類別名稱、組件資訊) 轉換為位元組流寫入儲存媒介,反序列化可重建精確複本。

兩大應用場景

  1. 持久化儲存:如論壇使用者擴充屬性 (MSN、簽名、個人網站) 序列化為單一二進位欄位,避免頻繁 ALTER TABLE。
  2. 跨應用程式域傳遞:.NET Remoting、Web Service 透過序列化實現 By-Value 物件傳遞。

二進位序列化

  • BinaryFormatter:完整保留型別資訊、私有欄位、物件圖參考,體積較大,效能較高,限 .NET 間互通。
  • 屬性 [Serializable] 標記可序列化類別。

SOAP 序列化

  • 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 適合異構系統整合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved