避免在WCF数据契约中填充扩展属性



如何避免在数据合约中填充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属性,并且序列化器将不会发出该属性的内容。

相关内容

  • 没有找到相关文章

最新更新