Bonjour,
Il arrive que lorsque j'envoie un objet en SilverLight via WCF, coté serveur les modifications de mon objet n'ont pas été prise en compte, pas pratique lorsque la méthode sert a faire un update...
Alors, j'explique l'architecture de mon projet :
- 1 bib de classe contenant des BO (Business Objects, classe représentant un enregistrement en base)
- un projet contenant mon WCF avec des objets métiers qui peuvent contenir un BO + properties aux membres du BO.
Lorsque je manipule mes objets métiers coté SilverLight pour le renvoyer au serveur et faire mon update, et bien jusqu'à la méthode Async(), j'ai le bon objet avec mes modifications. A la réception coté serveur, j'ai mon ancien objet, sans les modifications.
Je ne comprends pas!
Mon BO ressemble a ça :
mon objet métier :
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
25 public class BO { protected long m_lId; protected string m_sNom; public BO(){} public BO(long in_lId, string in_sNom) { this.m_lId = in_lId; this.m_sNom = in_sNom; } public long Id { get { return m_lId; } set { m_lId = value; } } public string Nom { get { return m_sNom; } set { m_sNom = value; } } }
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 [DataContract(IsReference = true)] public class MetierBO { private BO m_objBO; [DataMember] public BO BusinessObject { get { return m_objBO; } private set { } } [DataMember] public long Id { get { if(m_objBO != null) return m_objBO.Id; else return -1; } private set { if(m_objExerciceBO != null) m_objExerciceBO.Id = value; } } [DataMember] public string Nom { get { if(m_objBO != null) return m_objBO.Nom; else return null; } private set { if(m_objExerciceBO != null) m_objExerciceBO.Nom = value; } } private MetierBO(BO in_objBO) { this.m_objBO = in_objBO; } //+ regles métier } Merci d'avance
Partager