0

我们在总线上使用 protobuf-net 来同步对象。它适用于集合中的对象。我们监听CollectionChanged事件,并且完整的对象正在总线上的专用通道上同步和分发。我们的对象包含列表(字典),它们完全被序列化/反序列化。

到目前为止,这还不是问题,但我们希望提高效率并且只发送这些列表更新。如果我设置OverwriteList = false并尝试使用该Model.DeserializeWithLengthPrefix方法,则会收到以下错误消息:

“已添加具有相同密钥的项目。” (在 System.Collections.Generic.Dictionary 的 System.ThrowHelper.ThrowArgumentException(ExceptionResource 资源) 2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary2.System.Collections.Generic.ICollection>.Add(KeyValuePair`2 keyValuePair) 在 proto_13(Object , ProtoReader)

protobuf 可以为我们处理这些集合/字典中的变化,还是我们应该自己听变化?

4

0 回答 0