代码之家  ›  专栏  ›  技术社区  ›  Ren

web服务类型的复杂性

  •  0
  • Ren  · 技术社区  · 14 年前

    我已经使用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)不能实现接口成员,因为它不是公共的。

    2 回复  |  直到 14 年前
        1
  •  0
  •   Eugene Osovetsky    14 年前

        2
  •  0
  •   Ren    14 年前

    我没有将服务实现声明为公共的。

    推荐文章