Есть ли какие-либо Учебные руководства для Protobuf-сети? [закрытый]

14
задан akshaykarthik 9 August 2013 в 13:43
поделиться

2 ответа

Dictionary должен в основном просто работать (по крайней мере, в «v1»; я еще не писал этого для «v2»).

Я полностью признаю, что документации ... немного. В голову приходят следующие вещи:

  • Начало работы (и есть еще несколько страниц в вики)
  • есть хост вещей в стволе ; проект «Примеры» также используется в качестве модульных тестов, поэтому может помочь
  • мой блог

У меня сейчас много событий (я только что сменил работу и т. д.), но мои приоритеты:

  • получить стабильную бета-версию "v2", по крайней мере, набор основных функций
  • улучшить документацию

Время - мой самый большой враг. Но если у вас есть конкретный сценарий, не стесняйтесь связаться со мной, и я постараюсь вернуться к вам как можно скорее.

Re "можно просто воткнуть"; это зависит от вашего кода ;-p

Требуется некоторый способ определения уникального номера для каждого члена, который вы хотите сериализовать. Самый простой способ сделать это - использовать атрибуты; он поддерживает любой из [XmlElement (Order = n)] , [DataMember (Order = n)] или [ProtoMember (n)] . Если у вас уже есть хотя бы один из них (например, LINQ-to-SQL включает [DataMember] ), он может просто работать.

Есть есть параметры для автоматического вывода чисел, но это непостоянно и не рекомендуется. Используйте это только в том случае, если вы знаете , что вам никогда не нужно добавлять новых участников (они упорядочиваются в алфавитном порядке, поэтому добавление нового AardvarkCount сломает все).

В версии "v2" (не выпущен, но работает) теперь вы можете обрабатывать метаданные независимо от типов, то есть вы можете использовать protobuf-net с POCO, без атрибуции типов. Вы также можете обойти конструкторы и т. Д. (Стиль WCF). Гораздо более гибкие, если хотите. Конечно, поддерживается и атрибутивный подход.

14
ответ дан 1 December 2019 в 13:58
поделиться

Как ни странно, я только что ответил на другой вопрос, указав ссылку на protobuf-net .

Мне показалось, что это относительно просто сделать, а Марк очень быстро реагирует на запросы по электронной почте. (Хехе, извините, если я приглашаю людей спамить вам вопросами!)

Что касается документации, я упомянул, что она была немного скудной. Но вот для чего я его использовал:

У меня была система обмена сообщениями на основе XML, которая была слишком многословной. Поэтому я хотел заменить сообщения чем-то, что закодировало бы ту же информацию, но гораздо более компактно. Protobuf-net оказался идеальным для этого, и я не заменил свой модуль на основе xmlserialzer на модуль на основе прототипа.

Это было довольно просто. Я просмотрел свой проект, заменив [XmlInclude] и подобные атрибуты на [ProtoInclude], и, конечно же, я заменил сериализатор xml на сериализатор прото. Одна или две проблемы относительно того, какие типы могут быть сериализованы, были решены с помощью Марка, и не очень много рефакторинга кода.

2
ответ дан 1 December 2019 в 13:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: