2013-01-08 44 views
2

我有一個類(說CustomClass),它有幾個屬性類型IEnumerable<Enum>IEnumerable集合獲取WCF轉移清除

CustomClass的對象通過WCF並返回Result類型(不同類型)的對象。

如果我檢查CustomClass參數在WCF其得到的一切完成,即將發送響應返回給客戶端,CustomClass參數有一個值之後,但時間響應達到客戶的CustomClass清除所有的內容物該List屬性。

我只想知道,爲什麼?

結構 Custom

public class QuerySearchCriteria 
{  
    [DataMember] 
    public string DScope { get; set; } 

    [DataMember] 
    public IEnumerable<SOURCE> Sources { get; set; } 

    [DataMember] 
    public IEnumerable<ETYPE> ETypes { get; set; } 

    [DataMember] 
    public IEnumerable<Score> Score{ get; set; }  
} 

一切順利,但在Score屬性項被刪除。

+0

我猜WCF是\ *放太陽鏡\ *保持得分...... *** YYYYYEEEEAAAAHHHHHH *** –

+0

客戶端/服務器是否有多個實例? – sll

+0

Score(s)屬性的具體類型(GetType())是什麼? – Guillaume

回答

0

只是根據您提供的信息猜測,但是Score是一個可序列化的類?在WCF中,枚舉是自動包含的,因爲它們被標記爲Serializable,除非您已用DataContract手動標記Enum類型類。在這種情況下,您需要將Enum的每個成員標記爲EnumMember。這SO question and answer有一個很好的解釋如何工作。

如果我猜錯了:)那麼你應該啓用WCF tracing併發布正在被服務創建的soap,以獲得更多關於發生了什麼的細節。此外,發佈Score類的源將有所幫助。

+0

我正在按照您的建議使用WCF跟蹤對其進行測試。同時,Score不是一個類,它是一個枚舉。 – MegaMind