Quando usar os atributos DataContract e DataMember?

Estou muito confuso sobre o DataContractatributo no WCF. De acordo com meu conhecimento, é usado para serializar tipos definidos pelo usuário, como classes. Eu escrevi uma classe que é exposta no lado do cliente assim. [DataContract] public class Contact { [DataMember] public int Roll { get;...