自定义WCF DataContractSerializer

mku*_*kus 11 .net wcf serializer

是否可以使用我自己的序列化程序替换Windows Communication Foundation中的dataContractSerializer.如果有可能,我该如何实现?

Dre*_*rsh 9

是的,您可以提供自己的序列化程序实现.默认情况下,WCF将使用DataContractSerializer.要提供自己的序列化程序,您必须编写自己的序列化程序IOperationBehavior,并DataContractSerializerOperationBehaviorOperationDescription::Behaviors集合中删除当前应用的序列,然后应用自定义的实例DataContractSerializerOperationBehavior.然后,DataContractSerializerOperationBehavior负责XmlObjectSerializer在其CreateSerializer工厂方法中构建实现.有关如何执行此操作的一些代码示例,请查看Dan Rigsby撰写的这篇文章.

从那里开始,所有这些都是关于实现自己的自定义XmlObjectSerializer,它允许您将XML信息集序列化为您想要的任何表示.