2011-08-22 48 views

回答

0

參數類型和返回類型需要爲可序列化的或WCF以特殊方式處理。

對於第一種情況,[DataContract][DataMember]只是使類型可序列化的一種方法 - http://blogs.msdn.com/b/sowmy/archive/2006/02/22/536747.aspx的帖子描述了WCF中的序列化編程模型。正如Ladislav所說,從.NET 3.5 SP1開始,WCF引入了一個默認(POCO)序列化,因此您根本不需要任何註釋。

對於第二種情況,有一些類型的被視爲特殊情況由WCF,如System.IO.StreamSystem.ServiceModel.Channels.Message - 如果你使用,你甚至可以添加更多的這種類型的一個custom message formatter(雖然這是一種先進的方案,而不是很常見)。

3

它僅在WCF(.NET 3.0)的第一個版本中才需要。在引入默認數據合約序列化之後,您不必將DataContract屬性放置在類中,並且所有具有getter和setter的公共屬性都將被序列化。一旦你想更好地控制序列化,你將使用DataContractDataMember屬性,或者你將切換到Xml序列化。

+0

感謝@Ladislav Mrnka,RequestMessage和ResponseMessage是自定義類。這些被認爲是POCO,並在WCF 4.0中默認序列化? –

相關問題