繁体   English   中英

c#中的Google协议缓冲区

[英]Google's Protocol Buffers in c#

我们正在考虑使用Google的Protocol Buffers来处理c ++应用程序和ac#应用程序之间的序列化。

我的问题是,我已经为c#找到了几个不同的修改。 两者看起来都不错,但是,有没有人知道两者之间有什么不同(如果有的话)

  1. protobuf网
  2. jskeet / dotnet-protobufs

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

Protobuf-net是字节兼容的,但是遵循标准的.NET惯用语是一个完整的从头开始重新实现 - 因此对XmlSerializer等用户来说很熟悉。它也可以对抗可变对象(并且根据设置和结构不可变) v2),并有可选的WCF钩子,远程处理等。

两者都可以从.proto工作(可以说dotnet-protobufs在这方面比protobuf-net 更好 ); 但是protobuf-net可以在没有.proto或任何codegen的情况下对现有的.net poco / DTO等起作用。

另外,protobuf-net提供了诸如继承支持之类的东西,但是你可能不会选择在你的场景中使用它,因为它不容易映射到.proto定义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM