我怎麼能避免在我的合同數據填充ExtendedProperties集合?避免在WCF數據填充擴展屬性合約
我的WCF服務正在從XML構建數據協定,並使用不在合同中的屬性填充ExtendedProperties
。然後他們退回,我想避免這種情況。
清除ExtendedProperties
藏品是直接的方法,但我一直在尋找一種更優雅的方式來做到這一點。
任何幫助?
我怎麼能避免在我的合同數據填充ExtendedProperties集合?避免在WCF數據填充擴展屬性合約
我的WCF服務正在從XML構建數據協定,並使用不在合同中的屬性填充ExtendedProperties
。然後他們退回,我想避免這種情況。
清除ExtendedProperties
藏品是直接的方法,但我一直在尋找一種更優雅的方式來做到這一點。
任何幫助?
使用接受名爲ignoreExtensionDataObject一個布爾參數是我發現來實現這一目標的最佳途徑其他DataContractSerializer的構造函數之一。
public DataContractSerializer(Type type,
IEnumerable<Type> knownTypes,
int maxItemsInObjectGraph,
bool ignoreExtensionDataObject,
bool preserveObjectReferences,
IDataContractSurrogate dataContractSurrogate);
從MSDN Forward-Compatible Data Contracts:
的往返特徵可通過在DataContractSerializer的構造ignoreExtensionDataObject設置爲true或由IgnoreExtensionDataObject屬性設置爲true在ServiceBehaviorAttribute被關閉。當此功能處於關閉狀態時,反序列化程序不會填充ExtensionData屬性,並且序列化程序不會發出屬性的內容。