我已經開發了一個應用程序,旨在發送數據從客戶端到服務器和回等使用序列化的對象。Protobuf網例外與未知的子類
對於這個應用程序,我決定protobuf-net將是一個很好的選擇(特別是它處理可變長度的對象)。
但是,當從客戶端發送一個對象到服務器或反之亦然時,我所知道的是該對象將是'ReplicableObject'的某個子類。因此,我使用:
Serializer.SerializeWithLengthPrefix(stream, ro, PrefixStyle.Base128);
在哪裏「RO」是從ReplicableObject子類的類型的對象。
不過,我得到這個異常:
類型的未處理的異常 'ProtoBuf.ProtoException' 發生在 的protobuf-net.dll
其他信息:序列化過程中發現意外的類型; ProtoIncludeAttribute中必須包含 類型;發現MessageObject 作爲ReplicableObject
在這種特定情況下通過了,我想送MessageObject。
由於protobuf-net有一些珍貴的文檔,所以我被困在做什麼。我在這裏和那裏嘗試了一些屬性無濟於事。
任何幫助表示讚賞。
編輯:我應該說清楚,這些子類可能不是我寫的。
我剛剛從幾天的路程返回。我會在稍後看看 –