我正在序列化链表,反序列化时出现以下错误。
Google.Protobuf.InvalidProtocolBufferException: 'Protocol message had too many levels of nesting. May be malicious. Use CodedInputStream.SetRecursionLimit() to increase the depth limit.'
我找不到很多有关如何解决此问题的文档。
答案 0 :(得分:1)
可以使用CodedInputStream.CreateWithLimits
设置递归限制:
public static CodedInputStream CreateWithLimits(Stream input, int sizeLimit, int recursionLimit)
请注意,默认递归深度为64。请参见源here。
编辑: 您可以为链接列表项目发布模型吗?您可以在执行序列化之前添加一些展平行为。