如何避免在数据合约中填充ExtendedProperties集合?
我的WCF服务正在从XML构建数据契约,并用契约中没有的属性填充ExtendedProperties
。然后它们被返回,我希望避免这种情况。
清除ExtendedProperties
集合是一种直接的方法,但我正在寻找一种更优雅的方法来做到这一点。
帮忙吗?
使用接受布尔参数ignoreExtensionDataObject的其他DataContractSerializer构造函数之一是我发现的实现此目的的最佳方法。
public DataContractSerializer(Type type,
IEnumerable<Type> knownTypes,
int maxItemsInObjectGraph,
bool ignoreExtensionDataObject,
bool preserveObjectReferences,
IDataContractSurrogate dataContractSurrogate);
From MSDN Forward-Compatible Data Contracts:
可以通过在DataContractSerializer构造函数中将ignoreExtensionDataObject设置为true或通过在ServiceBehaviorAttribute上将ignoreExtensionDataObject属性设置为true来关闭往返功能。当此特性关闭时,反序列化器将不会填充ExtensionData属性,并且序列化器将不会发出该属性的内容。