我已经使用WCF开发了一些基本的web服务。到目前为止,返回类型相当简单。以下是运行正常的操作合同:
[OperationContract]
string Vessel(int ID);
//lists all vessel
[OperationContract]
List<string> Vessels();
[OperationContract]
List<string> PortsLike(string LikeStr);
[OperationContract]
Port GetPort(string name);
这些都做得很好。我现在试着把信封推一推,并尝试了以下方法:
[OperationContract]
List<Pair> Vessels(List<string> fields, List<Criterion> criteria);
其中Pair和criteria是我定义的非常基本的类。
以下是对和标准的定义:
[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;
}
}
以下是我从编译器中得到的错误:
错误1'VOps.vopservice服务'不实现接口成员'VOps.IVOpsService.船舶(系统.集合.通用.列表,系统.集合.通用.List)“.”船舶服务(系统.集合.通用.列表,系统.集合.通用.List)不能实现接口成员,因为它不是公共的。