我已经开发了一个应用程序,旨在发送数据从客户端到服务器和回等使用序列化的对象。Protobuf网例外与未知的子类
对于这个应用程序,我决定protobuf-net将是一个很好的选择(特别是它处理可变长度的对象)。
但是,当从客户端发送一个对象到服务器或反之亦然时,我所知道的是该对象将是'ReplicableObject'的某个子类。因此,我使用:
Serializer.SerializeWithLengthPrefix(stream, ro, PrefixStyle.Base128);
在哪里“RO”是从ReplicableObject子类的类型的对象。
不过,我得到这个异常:
类型的未处理的异常 'ProtoBuf.ProtoException' 发生在 的protobuf-net.dll
其他信息:序列化过程中发现意外的类型; ProtoIncludeAttribute中必须包含 类型;发现MessageObject 作为ReplicableObject
在这种特定情况下通过了,我想送MessageObject。
由于protobuf-net有一些珍贵的文档,所以我被困在做什么。我在这里和那里尝试了一些属性无济于事。
任何帮助表示赞赏。
编辑:我应该说清楚,这些子类可能不是我写的。
我刚刚从几天的路程返回。我会在稍后看看 –