Jestem bardzo zdezorientowany co do DataContract
atrybutu w WCF. Zgodnie z moją wiedzą jest on używany do serializacji typu zdefiniowanego przez użytkownika, takiego jak klasy. Napisałem jedną klasę, która jest dostępna po stronie klienta w ten sposób.
[DataContract]
public class Contact
{
[DataMember]
public int Roll { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public string Address { get; set; }
[DataMember]
public int Age { get; set; }
}
Działa poprawnie, ale kiedy go usunę DataContract
i DataMember
działa również poprawnie. Nie rozumiem, dlaczego działa poprawnie. Czy ktoś może mi powiedzieć, jakie jest rzeczywiste zastosowanie DataContract
?
Moja umowa serwisowa wygląda następująco
[ServiceContract]
public interface IRestServiceImpl
{
[OperationContract]
Contact XmlData(string id);
}