J'ai développé quelques services Web de base utilisant WCF. Jusqu'à présent, les types de retour ont été assez simples. Voici les contrats de fonctionnement qui fonctionnent correctement:Complexité des types de services Web
[OperationContract]
string Vessel(int ID);
//lists all vessel
[OperationContract]
List<string> Vessels();
[OperationContract]
List<string> PortsLike(string LikeStr);
[OperationContract]
Port GetPort(string name);
Ceux-ci ont fonctionné magnifiquement. J'ai maintenant essayé de pousser l'enveloppe un peu et essayé les suivantes:
[OperationContract]
List<Pair> Vessels(List<string> fields, List<Criterion> criteria);
Où Paire et Criterion sont des classes assez basique que je définis.
malheureusement cette dernière opération ne compile pas. Est-ce parce que j'ai atteint les limites de ce qui peut être accommodé par les services Web ou est-ce que je fais quelque chose qui ne va pas?
Voici les définitions de patinage en couple et Critère:
[DataContract]
public class Criterion
{
[DataMember]
public string Key { get; set; }
[DataMember]
public string Operator { get; set; }
[DataMember]
public string Value { get; set; }
}
[DataContract]
public class Pair
{
[DataMember]
public string Key { get; set; }
[DataMember]
public string Value { get; set; }
public Pair(string key, string value)
{
this.Key = key;
this.Value = Value;
}
}
Voici l'erreur que je reçois du compilateur:
Erreur 1 « VOps.VOpsService » ne membre d'interface implémente pas « VOP .IVOpsService.Vessels (System.Collections.Generic.List, System.Collections.Generic.List) '. 'VOps.VOpsService.Vessels (System.Collections.Generic.List, System.Collections.Generic.List)' ne peut pas implémenter un membre d'interface car il n'est pas public.
Ìt ne compile pas .... et vous ne nous dites pas l'erreur? Agréable. – TomTom
Question mise à jour – Ren