Bonjour à tous,
Cela fait déjà plusieurs jours que je me demande quel type de contrat entre Data contract ou Message contract est le plus adapté à mon utilisation. Je tiens à signaler que je suis encore novice avec WCF.
A priori le Message contract ne serai pas ce que je veux, car je n'ai pas besoin d'agir sur le corp/en-tête du message SOAP, mais cela permet d'avoir un système de requête réponse qui apporte une certaine souplesse en cas de modifications:
En fait la vrai question est de savoir si je peux utiliser des objets DTO pour garder la souplesse du code ci dessus, ou bien cela n'est pas recommandé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 [MessageContract] public class CustomerRequest { [MessageBodyMember] public int Id; } [MessageContract] public class CustomerResponse { [MessageBodyMember] public int Id; [MessageBodyMember] public string Name; } [ServiceContract] public interface ICustomer { [OperationContract] public CustomerResponse GetCustomer(CustomerRequest request); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 [DataContract] public class CustomerRequest { [DataMember] public int Id; } [DataContract] public class CustomerResponse { [DataMember] public int Id; [DataMember] public string Name; } [ServiceContract] public interface ICustomer { [OperationContract] public CustomerResponse GetCustomer(CustomerRequest request); }
Dans le cas ou je pourrai utiliser le data contract et que je ne souhaite pas de paramètre entrant, vaut t'il quand même mieux mettre CustomerRequest, quitte a ce qu'il ne soit pas utile ?
Au final je cherche une bonne pratique pour avoir de la souplesse et de la simplicité.
Merci de me conseiller, je m'arrache les cheveux![]()
Partager