Hierarchia kontraktów danych
Twoja klasa kontraktu danych może dziedziczyć po innej klasie kontraktu danych. WCF wymaga, żeby każdy poziom w hierarchii klas jawnie subskrybował (ang. opt in) kontrakt danych, ponieważ atrybut DataContract
nie jest dziedziczony:
[DataContract] class Contact { [DataMember] public string FirstName; [DataMember] public string LastName; } [DataContract] class Customer : Contact { [DataMember] public int CustomerNumber; }
Jeśli nie oznaczysz każdego poziomu hierarchii klas atrybutem serializable
lub DataContract
, w czasie ładowania usługi zostanie rzucony wyjątek typu InvalidDataContractException
. WCF pozwala na łączenie atrybutów Serializable
i DataContract
w hierarchii klas:
[Serializable] class Contact {...} [DataContract] ...
Get Programowanie usług WCF now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.