2011-04-01 55 views
2

我有一個帶循環引用的WCF服務,我使用CyclicReferencesAwareAttribute屬性(http://chabster.blogspot.com/2008/02/wcf-cyclic-references-support.html)解決。但是現在我想用Silverlight客戶端使用相同的服務。通過此方法,接收數據在Silverlight客戶端上運行良好,但是,當我想要再次發送對象時,CyclicReferencesAwareAttribute屬性在Silverlight端不起作用。DataContract IsReference = true返回空對象

我已更改爲使用數據合約上的IsReference屬性,該屬性應該解決此問題。但是現在返回的對象是空的! (所有字段都是默認值或爲空)。這在我的ASP.NET客戶端(原始)和我的Silverlight客戶端中是一樣的。

有沒有人打過是之前的問題?這是屬性。 [System.Runtime.Serialization.DataContract(Namespace =「http://testnamespace.co.uk/entities」,IsReference = true)]

回答

3

1-確保所有屬性都具有System.Runtime.Serialization .DataMember屬性。

2-確保了需要轉移所有屬性有一個公共的getter和setter

+0

我說好的添加數據成員屬性,所有的屬性,主要是因爲它的的EntityFramework POCO。我會這樣做,看看它是如何結束的。 – James 2011-04-05 19:53:51

+1

是的,我不得不將DataMember屬性添加到我的POCO T4中。這現在完美地工作。謝謝! – James 2011-04-05 20:14:02

+0

也爲我工作。不幸的是,這不是一個更無縫的。如果有一種方法可以在不添加一堆屬性的情況下手動執行此操作,我想知道。 – 2012-09-03 21:32:23