我創建了一個WCF服務不支持和默認服務我加在主DataContract另一經營合同:操作在WCF測試客戶端
[OperationContract]
void DoSomething(UserData data);
然後,我有這樣的事情(簡化的目的例如)。問題是,即使層次結構中的所有類都使用DataContract裝飾了所有的成員,並且使用DataMember裝飾了它們的所有成員,但當我使用WCF Test Client時,它具有一個紅色圖標,指示「該操作在WCF測試客戶端中不受支持」。
[DataContract]
public class UserData {
[DataMember]
public uint One { get; set; }
[DataMember]
public CompositeType Extra { get; set; }
public UserData() { ctor. code }
}
[DataContract]
public class CompositeType {
[DataMember]
public uint Two { get; set; }
public UserData() { ctor code }
}
我看到兩個類具有相同的名稱,但一個缺少複合型沒有錯誤,你這是什麼意思?你也忘了發佈複合類型的類。 – Silvermind 2012-03-23 21:45:02
我看到你在談論層次結構。你正在實現任何種類的遞歸關係?因爲這將需要遞歸使用的類用'[DataContract(IsReference = True)]'裝飾' – Silvermind 2012-03-23 23:27:30
@ Silververmind抱歉錯別字錯誤,第二個(已更正)是CompositeType而不是UserData。 我還將IsReference參數添加到主DataContract中使用的子類型,但未解決問題。 – 2012-03-26 01:59:10