0

如何避免在我的数据合同中填充 ExtendedProperties 集合?

我的 WCF 服务正在从 XML 构建数据合同,并ExtendedProperties使用合同中没有的属性填充数据合同。然后他们被退回,我想避免这种情况。

清除ExtendedProperties集合是一种直接的方法,但我一直在寻找一种更优雅的方法来做到这一点。

有什么帮助吗?

4

2 回答 2

0

使用接受名为 ignoreExtensionDataObject 的布尔参数的其他 DataContractSerializer 构造函数之一是我发现完成此任务的最佳方法。

public DataContractSerializer(Type type, 
    IEnumerable<Type> knownTypes, 
    int maxItemsInObjectGraph, 
    bool ignoreExtensionDataObject, 
    bool preserveObjectReferences, 
    IDataContractSurrogate dataContractSurrogate);
于 2013-04-01T09:58:35.013 回答
0

来自 MSDN前向兼容数据合同

可以通过在 DataContractSerializer 构造函数中将 ignoreExtensionDataObject 设置为 true 或通过在 ServiceBehaviorAttribute 上将IgnoreExtensionDataObject属性设置为 true 来关闭往返功能。当此功能关闭时,反序列化程序将不会填充 ExtensionData 属性,并且序列化程序不会发出该属性的内容。

于 2014-01-29T10:02:26.023 回答