2012-08-31 116 views
0

我有一個WCF方法:WCF返回類型爲對象

public IQueryable<AmenitySummary> GetAmenities(string searchTerm) 

現在,AmenitySummary因此

[DataContract] 
public class AmenitySummary 
{ 
    [DataMember] 
    public int AmenityId { get; set; } 
    [DataMember] 
    public string Amenity { get; set; } 
    [DataMember] 
    public string LowerCaseAmenity { get; set; } 
} 

定義在我的客戶端解決方案,我有一個項目中,我調用此方法。問題是Reference.cs文件中的簽名是這樣的

public object GetAmenities(string searchTerm) { 
    return base.Channel.GetAmenities(searchTerm); 
} 

怎麼回事?爲什麼不是退貨類型IQueryable<AmenitySummary>?我錯過了什麼?

不僅如此,但當我嘗試在客戶端使用AmenitySummary我不能這樣做,因爲它不被識別。我認爲這是相關的。

感謝,

小號

回答

1

IQueryable的是沒有具體提及(見svcutil.exe的/引用)serialiable。

否則使用WCF DataService(OData)或從服務返回AmenitySummary數組。在後面的情況下,您可以將數組轉換爲IQuaryable實例。