我有一個WCF服務的類,可以叫它A。 A是一個數據合同,它包含作爲其DataMembers之一的另一個自定義對象集合B。爲了避免客戶端上的空引用的問題,我實例化BList在構造函數中,像這樣:我是否需要在WCF DataContract中公開一個構造函數以使其在客戶端上的對象實例化過程中工作?
[DataContract]
public class A
{
[DataMember]
public String name { get; set; }
[DataMember]
public List<B> BList {get; set; }
public A()
{
BList = new List<B>();
}
}
我的問題是,在客戶端上,這個實例化沒有發生,BList出現後爲空在客戶端上創建的對象A。我猜測構造函數沒有出現在客戶端上。那麼,我是否需要使構造函數成爲明確的操作合同?如果這樣會使客戶看到內部的東西,他們不應該看到,對嗎?我如何確保這個實例化發生在客戶端上?
謝謝,對不起,如果這似乎是一個愚蠢的問題。
謝謝。這可能會起作用,但會讓客戶調用一個web方法來實例化一個對象,從而給客戶帶來負擔。 – 2010-10-26 17:52:30