【发布时间】:2011-08-27 23:50:42
【问题描述】:
我开发了一个应用程序,旨在使用序列化对象将数据从客户端发送到服务器并返回等。
对于这个应用程序,我认为 protobuf-net 将是一个不错的选择(尤其是因为它可以很好地处理可变长度对象)。
但是,当从客户端向服务器发送对象或反之亦然时,我只知道该对象将是“ReplicableObject”的某个子类。因此,我正在使用:
Serializer.SerializeWithLengthPrefix(stream, ro, PrefixStyle.Base128);
其中 'ro' 是从 ReplicableObject 子类化的类型的对象。
但是,我得到了这个例外:
“ProtoBuf.ProtoException”类型的未处理异常发生在 protobuf-net.dll
附加信息:序列化过程中发现意外类型; 类型必须包含在 ProtoIncludeAttribute 中;找到 MessageObject 作为 ReplicableObject 传递
在这个特定的实例中,我正在尝试发送一个 MessageObject。
由于 protobuf-net 的文档很少,所以我不知道该怎么做。我在这里和那里尝试了一些属性,但无济于事。
任何帮助表示赞赏。
编辑:我应该明确指出,子类甚至可能不是我写的。
【问题讨论】:
-
我刚从几天外回来。我稍后会看这个
标签: c# exception protobuf-net