Вопросы по теме 'protobuf-net'

protobuf-net не десериализует 0
Я использую protobuf-net r278 в С#, и я только что заметил, что если у меня есть класс с полем int , это поле не десериализуется должным образом, если его значение равно 0. А именно, при десериализации оно получает значение по умолчанию. из...
986 просмотров
schedule 13.02.2022

Десериализация типа в текущей позиции потока с помощью protobuf-net
Я сериализую несколько объектов в один поток, но когда я пытаюсь их прочитать, я не могу получить ничего, кроме последнего объекта: ProtoBuf.Serializer.Serialize(stream, postA1); ProtoBuf.Serializer.Serialize(stream, postB1); stream.Position = 0;...
2257 просмотров
schedule 24.04.2024

Как я могу отправить несколько типов объектов через Protobuf?
Я реализую клиент-серверное приложение и ищу различные способы сериализации и передачи данных. Я начал работать с сериализаторами Xml, которые работали довольно хорошо, но медленно генерировали данные и создавали большие объекты, особенно когда их...
6818 просмотров

Protobuf.net Тип нельзя изменить после создания сериализатора.
У меня есть довольно простой код, использующий Protobuf.net, который выдает очень странное исключение. В MetaType.cs в строке 167 выдается исключение InvalidOperationException «Тип не может быть изменен после создания сериализатора». Что это значит...
1814 просмотров
schedule 16.02.2022

Как узнать в protobuf-net, сколько байтов было прочитано из NetworkStream при вызове DeserializeWithLengthPrefix
Есть ли способ сделать это? Я хотел бы знать, сколько байтов было прочитано из NetworkStream, когда я вызываю DeserializeWithLengthPrefix. Поскольку NetworkStream не поддерживает свойство Position, я не вижу простого способа сделать это. Можно ли...
301 просмотров
schedule 15.07.2022

Нужна помощь с самым тривиальным примером protobuf-net
Обратите внимание на следующий тривиальный фрагмент кода: [ProtoContract] public class B { [ProtoMember(1)] public int Y; } [ProtoContract] public class C { [ProtoMember(1)] public int Y; } class Program { static...
235 просмотров
schedule 21.07.2022

Шаблон / метод отправки «только обновленных полей» с сервера на клиент для данного объекта?
У меня есть некоторые серверные данные, которые мне нужно реплицировать (проталкивать в реальном времени) из серверного приложения примерно на 100 клиентов wpf. Моя проблема заключается в том, что когда данный объект Order изменяется, он обычно...
162 просмотров

При использовании наследования в protobuf.net теги должны быть уникальными во всем дереве наследования?
Я затрудняюсь найти четкий ответ. Насколько я понимаю из документов, теги ProtoInclude и ProtoMember внутри класса должны быть уникальными, но не во всем дереве. Это означает, что это должно быть хорошо: [ProtoContract] [ProtoInclude(2,...
946 просмотров
schedule 24.08.2022

Проблема приведения типа ProtoBuf
Я использую ProtoBuf для сериализации класса, который создается во время выполнения с помощью Activator.CreateInstance. К сожалению, метод Serializer.Deserialize выдает ошибку «Тип не ожидается, и контракт не может быть выведен: System.Object»....
2213 просмотров
schedule 18.02.2023

protobuf-net v2 и Monotouch: как это сочетается?
Я пытался использовать protobuf-net с MonoTouch, но понятия не имею, как это сделать, и, несмотря на то, что я слышал, что это возможно, я не смог найти ни одного учебника или какого-либо примера, который действительно работает. Это подтвердил в...
957 просмотров

Сериализация с помощью ProtoBuf.NET без добавления тегов к членам
Я где-то читал комментарий автора ProtoBuf.NET, который: Есть варианты автоматического вычисления чисел, но это непостоянно и не рекомендуется. Используйте это только в том случае, если вы знаете, что вам больше не нужно добавлять участников...
3686 просмотров
schedule 03.02.2022

protobuf-net Наследование и номера полей
Я пытаюсь создать систему сериализации для нашего приложения, которая должна иметь возможность обрабатывать наследование. Еще больше усложняет ситуацию то, что приложение является расширяемым, поэтому маловероятно, что типы будут известны во время...
1252 просмотров
schedule 04.10.2023

Ошибка при компиляции кода, сгенерированного protobuf-net.
Есть забавная ошибка в сгенерированном коде protobuf-net. Файл определения .proto содержит поле с именем «значение» для объекта. Что protogen.exe сгенерировал для этого значения с параметром -p:detectMissing: private int? _value;...
302 просмотров
schedule 17.05.2024

Обновите protobuf после его сериализации
Мы сохраняем protobuf внутри таблиц базы данных как Byte[]s. Однако мы сталкиваемся с ситуацией, когда нам приходится обновлять протобуфы после того, как они были сохранены. Это создает две проблемы: (1) мы должны сериализовать/десериализовать их,...
285 просмотров
schedule 28.12.2023

Что такое сообщение .proto для datetime в protobuf-net
Я пытаюсь написать код, который будет генерировать точные файлы .proto из модели типа времени выполнения protobuf-net (V2), поэтому я могу написать клиент python, способный десериализовать сообщения, сгенерированные protobuf-net. Я немного застрял...
6166 просмотров
schedule 10.01.2024

Protobuf-net и файл .proto?
Я собираюсь использовать библиотеку protobuf-net со своими службами WCF. Клиенты - это Java-Android, и я работаю с прото-файлами на этой стороне. Должен ли я вручную кодировать классы на стороне .NET или protobuf-net каким-то образом поддерживает...
1852 просмотров
schedule 24.03.2022

Protobuf-net и наследование неизменяемых сообщений
Я пытаюсь сериализовать неизменяемое сообщение с неизменяемым базовым классом. Однако я не могу убедить protobuf-сериализатор десериализовать его до производного типа. Короче говоря, этот тест дает мне недопустимое исключение приведения (от Base до...
446 просмотров
schedule 08.04.2022

Ошибка Protobuf-net «объект с отслеживанием ссылок изменил ссылку во время десериализации» (2)
Рискуя нарушить этикет (приношу свои извинения, если это неуместно), я хотел бы поднять этот вопрос, потому что он некоторое время витал без единого ответа. Я считаю, что на самом деле это более серьезная ошибка как часть библиотеки Protobuf-net...
353 просмотров

Обнаружена возможная рекурсия Protobuf-net: сериализовать детей и родителей
Я новичок в сериализации в целом и даже в protobuf. Вот моя проблема, у меня есть эти классы: [ProtoContract] class Controle { [ProtoMember(1, AsReference=true)] public HashSet<Controle> ControlesInternes { get; set; }...
1378 просмотров
schedule 13.02.2023

Как мне получить базовый класс для моих классов protobuf-net
Я читал различные сообщения о наследовании и о том, что буферы протокола не поддерживают наследование. Мне нужно не наследование в сообщениях протокольных буферов, а наследование, чтобы я мог легко обрабатывать все свои сообщения протокольных...
1614 просмотров
schedule 01.08.2023