Bonjour à tous,
je suis en train de créer un service WCF qui me permettra de communiquer vers un serveur NoSql. Ce service WCF va avoir des méthodes qui prendront en paramètre un objet d'une classe que j'ai créé qui s'appelle Query. Cette classe Query se trouve dans un projet Projet.QueryClient :
Côté WCF, j'ai un second projet qui s'appelle Projet.QueryServer avec mes contrats :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Query { protected string _query = null; public string query { get { return this._query; } } public Query (IList<ICritere> expressions) { _query = expressions.ToString(); } }
Dans un troisième projet console, qui me sert à simuler un client, j'ai ajouté la référence à mon service WCF que j'ai nommé QueryServerReference ensuite je déclare un objet Query puis j'appelle la méthode Search de mon WCF en lui passant l'objet Query que je viens d'instancier.
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 [ServiceContract(Namespace = "http://ServiceRequest/Request")] public interface IRequestServer { [OperationContract] bool test(); [OperationContract] string Search(Query query); [OperationContract] string Insert(Query query); [OperationContract] string Update(Query query); [OperationContract] string Delete(Query query); } public class RequestServer : IRequestServer { public bool test() { return true; } public string Search(Query query) { ... } public string Insert(Query query) { ... } public string Update(Query query) { ... } public string Delete(Query query) { ... }
Le problème est que ça ne compile pas car la méthode Search attend en paramètre un objet Projet.QueryServerRefence.Query et que moi je lui passe un objet Projet.QueryClient.Query
Pourquoi le type est-il différent alors que la classe fait partie du même assembly à savoir Projet.QueryClient ?
Comment faire pour régler le problème ?
Partager