我们现在使用protobuf几年了,它对我们的工作很有帮助。
但是,最近我们遇到的反序列化问题很少。
以前反序列化是连续完成的,现在是为了加快我们使用的所有核心系统所能提供的过程。
场景:
注意:第一次和第二次反序列化相隔几毫秒发生。
错误:
上下文:1个生成小部件的错误。 AnalysisTaskGlobalID: d549f367-f42f-45fa-b230-f2839a6fefe6错误:类型异常 ' ProtoBuf.ProtoException'被扔了。堆栈:at ProtoBuf.ProtoReader.StartSubItem(ProtoReader reader)中 c:\ Dev \ protobuf-net \ protobuf-net \ ProtoReader.cs:599行 ProtoBuf.ProtoReader.ReadTypedObject(Object value,Int32 key, ProtoReader阅读器,Type type)in c:\ Dev \ protobuf-net \ protobuf-net \ ProtoReader.cs:第531行 proto_2(Object,ProtoReader)at ProtoBuf.Meta.TypeModel.Deserialize(流源,对象值,类型 type,SerializationContext context)in c:\ Dev \ protobuf-net \ protobuf-net \ Meta \ TypeModel.cs:506行at at ProtoBuf.Serializer.Deserialize [T](流源)中 c:\ Dev \ protobuf-net \ protobuf-net \ Serializer.cs:第69行
我们不会认为它是一个多线程问题!因为我们尝试了同步反序列化过程。
但是,在反序列化之前添加1000毫秒的睡眠时,大部分时间都可以工作!
对此有任何想法,请告诉我。
答案 0 :(得分:-1)
这最终不是protobuf错误。我们的申请没有充分同步。