WCF 中的序列化

序列化是將物件轉換為位元組流以便儲存物件或將其傳輸到記憶體,資料庫或檔案的過程。 Microsoft 頁面序列化

以下示例演示了 WCF 中的序列化:

[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]   
public interface IPerson 
{

    [OperationContract]
    void Add(Person person);

    [DataContract]
    public class Person
    {
        private int id;

        [DataMember]
        public int Age{ set; get;}
    }
}
  1. [DataContract] 屬性與類一起使用。這裡裝飾有 Person 級。

  2. [OperationContract] 用於方法。這裡用 Add 方法裝飾。

  3. [DataMember] 屬性與屬性一起使用。那些用 [DataMember] 屬性裝飾的人只有那些可供代理人訪問的屬性。在這裡,我們有 2 個屬性,id 無法訪問,Age 可訪問。

  4. [DataMember] 當你不想向外界顯示私有欄位並且只想顯示公共屬性時,屬性很方便。

  5. 使用 [DataMember] 屬性,你可以使用某些屬性。它們如下

DataMember 的屬性

一個。IsRequired 可以像這樣使用 [DataMember(IsRequired=true)]

Name 可以像這樣使用 [DataMember(Name=RegistrationNo)]

C。order 可以像這樣使用 [DataMember(order=1)]

如果不指定屬性,我們將無法訪問我們使用的專案中的類/方法/屬性(這個例子是 wcf 服務介面)。

這些屬性使程式碼在執行時通過單個專案可訪問的方式稱為序列化

  • 使用 WCF,你可以使用序列化與其他專案,應用程式或任何其他軟體進行通訊,而無需完成設定端點,手動建立流和維護流的所有工作。更不用說將所有資料轉換為位元組,反之亦然。