ServiceContract 標註於介面,而非類別:分離契約與實作。I 開頭:IMyContract。GetName/SetName,改用單一方法或資料契約。DataContract/DataMember。DataMember 僅標註於屬性或唯讀公共成員。Order 時,同一類別層級成員賦予相同順序值。IExtensibleDataObject,採用顯式介面實作:支援版本容錯。IgnoreExtensionDataObject = false(預設):保留未知資料以利向前相容。Type):確保跨平台互通。DataSet/DataTable,改用陣列等中立表示。InstanceContextMode.PerCall)。SessionMode.NotAllowed 時,服務必須設為 PerCall。