Получение ошибки парсинга данных ProtoBuf - PullRequest
0 голосов
/ 26 августа 2018

Я сериализую связанный список, и при десериализации я получаю следующую ошибку.

Google.Protobuf.InvalidProtocolBufferException: 'Protocol message had too many levels of nesting. May be malicious. Use CodedInputStream.SetRecursionLimit() to increase the depth limit.'

Я не смог найти много документации о том, как это исправить.

1 Ответ

0 голосов
/ 26 августа 2018

Предел рекурсии может быть установлен с помощью CodedInputStream.CreateWithLimits:

public static CodedInputStream CreateWithLimits(Stream input, int sizeLimit, int recursionLimit)

Обратите внимание, что рекурсия по умолчанию имеет глубину 64. См. Источник здесь .

Изменить: Можете ли вы опубликовать свою модель для связанных элементов списка?Возможно, вам удастся добавить некоторое выравнивание перед выполнением сериализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...