【发布时间】:2011-05-23 20:09:07
【问题描述】:
我目前在代码中定义了我的所有 WCF 连接,并且我试图硬塞 protobuff-net 序列化,但收效甚微。我的所有合约都没有标记 knowntype 属性,因为我们有一个带有有效负载的基本消息(它将是几十个 knowntypes)。我们找出我们拥有的已知类型并将它们缓存在派生自 DataContractSerializerOperationBehavior 的类中。然后在重写的 CreateSerializer 函数中,我将缓存的已知类型传递给 DataContractSerializer,如下所示
public override XmlObjectSerializer CreateSerializer(Type type, string name, string ns, IList<Type> knownTypes)
{
new DataContractSerializer(type, name, ns, m_Known ?? knownTypes, 0x7FFF, ...)
}
有没有办法将已知类型的列表传递给 protobuf-net 序列化程序。我意识到 protobuf-net 并不是要镜像 WCF 的序列化程序,但如果它们遵循允许覆盖 knowntypes 列表的模式会很好。感谢您的帮助。
但是我没有选择以这种方式处理 Protobuf-net 序列化程序(我查看了 ProtoOperationBehavior)。有没有在
中指定的已知类型【问题讨论】:
标签: wcf protobuf-net