如何避免在数据合同中填充ExtendedProperties集合?
我的WCF服务正在从XML构建数据协定,并使用不在合同中的属性填充ExtendedProperties
。然后他们被退回,我想避免这样做。
清除ExtendedProperties
集合是一种直截了当的方法,但我一直在寻找一种更优雅的方法。
任何帮助?
答案 0 :(得分:0)
使用其他一个接受名为ignoreExtensionDataObject的布尔参数的DataContractSerializer构造函数是我找到的最好的方法。
public DataContractSerializer(Type type,
IEnumerable<Type> knownTypes,
int maxItemsInObjectGraph,
bool ignoreExtensionDataObject,
bool preserveObjectReferences,
IDataContractSurrogate dataContractSurrogate);
答案 1 :(得分:0)
来自MSDN Forward-Compatible Data Contracts:
可以通过在DataContractSerializer构造函数中将ignoreExtensionDataObject设置为true或者通过在ServiceBehaviorAttribute上将IgnoreExtensionDataObject属性设置为true来关闭往返功能。当此功能关闭时,反序列化器将不会填充ExtensionData属性,并且序列化程序将不会发出属性的内容。