2013-03-27 54 views
0

我怎麼能避免在我的合同數據填充ExtendedProperties集合?避免在WCF數據填充擴展屬性合約

我的WCF服務正在從XML構建數據協定,並使用不在合同中的屬性填充ExtendedProperties。然後他們退回,我想避免這種情況。

清除ExtendedProperties藏品是直接的方法,但我一直在尋找一種更優雅的方式來做到這一點。

任何幫助?

回答

0

使用接受名爲ignoreExtensionDataObject一個布爾參數是我發現來實現這一目標的最佳途徑其他DataContractSerializer的構造函數之一。

public DataContractSerializer(Type type, 
    IEnumerable<Type> knownTypes, 
    int maxItemsInObjectGraph, 
    bool ignoreExtensionDataObject, 
    bool preserveObjectReferences, 
    IDataContractSurrogate dataContractSurrogate); 
0

從MSDN Forward-Compatible Data Contracts

的往返特徵可通過在DataContractSerializer的構造ignoreExtensionDataObject設置爲true或由IgnoreExtensionDataObject屬性設置爲true在ServiceBehaviorAttribute被關閉。當此功能處於關閉狀態時,反序列化程序不會填充ExtensionData屬性,並且序列化程序不會發出屬性的內容。