bonjour,
Y a du linq mais je met le code ici car l'erreur semble être interne à WCF.
A des fin de test j'ai créé un petit maping linq to sql avec 3 class
TestTable, Mere et Fille.
TestTable à un champ MereID dont je me sert pour faire OneToMany vers la Mere.
Mere à un champs de typage pour l'héritage.
Fille est une sous classe de Mere avec un champs FilleContent.
j'ai créé un service :
avec un client console :
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 public class Service1 : IService1 { public void CreateDB() { using (TestDataContext db = new TestDataContext()) { if (db.DatabaseExists()) db.DeleteDatabase(); db.CreateDatabase(); Fille f = new Fille { FilleContent = "kikoo" }; db.Meres.InsertOnSubmit(f); TestTable t = new TestTable { Mere = f }; db.TestTables.InsertOnSubmit(t); db.SubmitChanges(); } } public Mere GetMere() { using (TestDataContext db = new TestDataContext()) { var res = db.Meres.OfType<Mere>(); var res2 = res.First<Mere>(); return res2; } } public Fille GetFille() { using (TestDataContext db = new TestDataContext()) { return db.Meres.OfType<Fille>().First<Fille>(); } } public TestTable GetTest() { using (TestDataContext db = new TestDataContext()) { return db.TestTables.First<TestTable>(); } } }
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 static void Main(string[] args) { Service1Client client = new Service1Client(); client.CreateDB(); Fille f = client.GetFille(); Type tf = f.GetType(); Mere m = client.GetMere(); Type tm = m.GetType(); TestTable t = client.GetTest(); Type tt = t.GetType(); }
et sur la ligne
J'ai une ComunicationException avec en Inner une WebException qui dit "La connexion sous-jacente a été fermée : La connexion a été interrompue de manière inattendue.".
Code : Sélectionner tout - Visualiser dans une fenêtre à part Mere m = client.GetMere();
Il n'y a aucune exception coté serveur le code se déroule normalement.
En gros j'ai l'impression que lorsque WCF doit transporter un objet de type fille en tant que Mere il y a un problème mais je ne comprends pas pourquoi ni comment résoudre ce problème.
D'ailleurs quand je créé en premier un objet de type Mere au lieu de fille le code passe bien.
Si vous pouvez m'aider ça serait cool
Merci
Partager