2
在.NET 3.5中,我想要創建一個將序列化行爲從DataContractSerializer
切換到NetDataContractSerializer
的自定義屬性(說[NetDataMember])。將屬性序列化切換到NetDataContractSerializer的自定義屬性
基本上,對於一類A
如下圖所示
[DataContract]
class A
{
[DataMember]
public int SimpleProperty { get; set; }
[Transcient]
public IBar ComplexProperty { get; set; }
}
我想獲得串行器將表現得像DataContractSerializer
默認,但是這將與NetDataContractSerializer
被重寫爲屬性標有[NetDataMember]
。
任何想法如何設計一個序列化器,將實現這樣的行爲?
感謝您的鏈接。其實,我無法設法產生覆蓋效應。我正在應用該屬性,但重寫行爲從不在(序列化)時間被調用。實例化DCS時是否缺少一些? – 2009-12-12 09:21:06
反序列化時,在WCF中,沒有任何構造函數被調用 - 這是一個正常的行爲。 – 2009-12-12 09:33:50
但是要查看是否正在使用NetDataContractSerializer,您應該查看正在發送的消息 - 可以使用Visual Studio Common7/IDE目錄中的WcfTestClient.exe,也可以使用Fiddler來查看流量 – 2009-12-12 09:34:51