Есть ли в.NET производственная качественная реализация Google Protocol Buffers

ПРЕДСТАВЬТЕ используется для отображения локального порта контейнера порта т.е.: если Вы определяете, представляют в файле докера как

EXPOSE 8090

, Что будет делать это отобразить localhost порт 8090 на контейнерный порт 8090

5
задан Fortyrunner 3 September 2009 в 14:34
поделиться

3 ответа

Существуют две основные реализации буферов протоколов:

  • Mine (в основном порт кода Java)
  • Marc Gravell's ProtoBuf-Net ( более дружественная к WCF, повторная реализация с нуля)

Я знаю, что недавно Марк был в процессе крупного рефакторинга; Я не знаю, работает ли он до сих пор.

Насколько мне известно, мой собственный порт работает (за исключением ошибки в размере упакованного типа, о которой сообщалось пару дней назад), но мне не хватает некоторой полировки в части генерации вещи. Некоторых пользователей интересует совместимость с Silverlight, над которой я работал, но еще не пробовал. (В основном в Silverlight отсутствует несколько методов, которые я использовал; я думаю, что , возможно, перенес все из них сейчас - мне нужно проверить.)

Я не делаю ' Не знаю, используется ли та или иная реализация для каких-либо систем, но я буду рад попытаться исправить любые обнаруженные вами ошибки. Обратите внимание, что я не намереваюсь реализовать «облегченные» PB, которые появились в основном коде 2.2; они сделают и без того сложное наследство более отвратительным. Вскоре я представлю дополнительную возможность, позволяющую указывать режим (оптимизация скорости / размера) отдельно для C #.

11
ответ дан 18 December 2019 в 11:59
поделиться

Вы тоже видели этот protobuf-net в Google Code?

1
ответ дан 18 December 2019 в 11:59
поделиться

Дох .... Джон Скит

Вам нужно посмотреть страницу Реализации других языков на кодовой странице protobuf google ...

Существует 3 реализации .net.

dotnet-protobufs by Джон Скитс

protobuf-net от Марка Грейвелла

protosharp

Первый является клоном исходного protobuf на C #, который поддерживает только C ++, Java и Python.

Второй был значительно расширен, чтобы соответствовать больше с C # и даже может использоваться вместо встроенного удаленного взаимодействия. Я бы использовал это, если вы не выполняете кросс-платформенную работу.

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

3
ответ дан 18 December 2019 в 11:59
поделиться
Другие вопросы по тегам:

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