2010-10-25 92 views
0

我開發了一些使用WCF的基本Web服務。到目前爲止,退貨類型相當簡單。以下是運行正常的運營合同: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); 

凡對和標準是我定義的非常基本的類。

不幸的是,這個最新的操作不能編譯。這是因爲我已經達到了Web服務可以接受的範圍,還是我做了一些明顯錯誤的事情?

這裏是對的定義和標準:

[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.VOpsService」不實現接口成員「的VOP .IVOpsService.Vessels(System.Collections.Generic.List,System.Collections.Generic.List)'。 'VOps.VOpsService.Vessels(System.Collections.Generic.List,System.Collections.Generic.List)'不能實現接口成員,因爲它不是公共的。

+0

不能編譯....你不告訴我們錯誤?尼斯。 – TomTom 2010-10-26 11:37:39

+0

更新的問題 – Ren 2010-10-27 12:32:10

回答

0

你不應該有[數據成員]在一對構造

+0

另外,您收到的具體錯誤消息是什麼? – 2010-10-25 17:33:11

+0

參考上面的評論,沒有構造器裝飾器沒有工作 – Ren 2010-10-26 11:34:15

0

我沒有申報服務實現公共。