谷歌的协议缓冲区在c#

我们正在寻找使用谷歌的协议缓冲区来处理C++应用程序和c#应用程序之间通过网络的序列化。谷歌的协议缓冲区在c#

我的问题是,我发现了几个不同的c#的版本。这两个看起来不错,但是,没有人知道什么是不同的(如果有的话)两个

  1. protobuf-net
  2. jskeet/dotnet-protobufs

回答:

当然之间; dotnet-protobufs是java版本的一个端口,因此与核心谷歌实现共享一个非常相似的API和方法;代码宝石,不变性等

Protobuf-net是字节兼容的,但是是一个完整的从零开始的重新实现,遵循标准的.NET成语 - 所以XmlSerializer的用户很熟悉等。它也可以针对mutable对象(和不可改变根据设定,并在V2结构),并具有WCF,远程可选钩等

两者都可以从.proto工作(可以说是DOTNET-protobufs在这方面比protobuf- 更好净);但protobuf网可以与现有的.net poco/DTO等工作,没有.proto或任何codegen。

此外,protobuf-net提供诸如继承支持之类的东西,但您可能不会选择在您的场景中使用它,因为它无法轻松映射到.proto定义。

以上是 谷歌的协议缓冲区在c# 的全部内容, 来源链接: utcz.com/qa/258707.html

回到顶部