Bonjour,
Je développe actuellement une application client/serveur très simple pour échanger des données via le modèle WCF sous Visual C# 2010.
J'arrive pour l'instant à récupérer de simples entiers mais lorsqu'il s'agit de récupérer les données d'une classe DataTable j'obtiens l'erreur suivante :
Le client appelle d'abord la méthode GetTable définie dans mon interface utilisée pour le ServiceContractError: Une erreur s'est produite en tentant de désérialiser le paramètre http://tempuri.org/:oDataTable. Pour plus d'informations, consultez InnerException.
Le serveur de son côté instancie une DataTable et appelle le constructeur de ma classe de données cDataTable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [OperationContract()] void GetTable(ref cDataTable oDataTable);
Voici la définition de ma classe de données cDataTable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DataTable dt = new DataTable("dt name"); oDataTable = new cDataTable(dt);
L'erreur se produit avant même la lecture de données côté client.
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 [DataContract()] [KnownType(typeof(DataTable))] public class cDataTable { private DataTable m_oDataTable; [DataMember()] public DataTable dataTable { get { return m_oDataTable; } set { } } public cDataTable(DataTable oDataTable) { m_oDataTable = oDataTable; } }
Quelle est mon erreur ici ?
Merci par avance.
Partager