263得票9回答
将流转换为字符串并再次转换为流

我想将对象序列化为字符串,然后再反序列化。 我们使用protobuf-net将对象转换为流并成功地将其反转回来。 但是,将流转换为字符串再反转回去的操作却不成功。经过StreamToString和StringToStream两个方法后,新的Stream对象无法被protobuf-net反序...

81得票8回答
使用Protobuf-net时,突然出现了关于未知线路类型的异常。

(这是我在我的RSS中看到的一个问题,但被OP删除了。由于我在不同的地方多次看到这个问题被问到,所以我重新添加了它;wiki for "good form") 突然间,在反序列化时我收到了一个ProtoException,其消息为:未知的wire-type 6。 什么是Wire-Type...

74得票5回答
如何选择protobuf-csharp-port和protobuf-net之间的区别?

我最近不得不寻找Google原始开发的Protocol Buffers库的C#移植版。猜猜,我在这里找到了两个由两位非常著名的人所有的项目:protobuf-csharp-port,作者是Jon Skeet和protobuf-net,作者是Marc Gravell。我的问题很简单:我应该选择哪...

52得票2回答
协议缓冲区如何处理版本控制?

Protocol Buffers如何处理类型版本控制? 例如,当我需要随着时间的推移更改类型定义时,该怎么办?比如添加和删除字段。

42得票2回答
如何从使用属性装饰的C#类生成.proto文件?

尝试理解谷歌protobuf,发现C#中有一些protobuf的实现,但它们似乎缺少一个功能:从已存在的带有属性装饰的C#类自动生成.proto文件的能力。 我之所以想这样做,而不是从.proto文件生成自动生成的C#类,是因为我已经在我的项目中定义了C#类,并且不想复制它们以满足Proto...

37得票2回答
protobuf-net是如何实现可观的性能表现的?

我想了解为什么由Marc Gravell开发的.NET协议缓冲区解决方案速度如此之快。 我可以理解原始的Google解决方案是如何实现其性能的:它预生成了用于对象序列化的优化代码;如果避免使用反射,使用手写序列化的方式也可以编写出相当快速的代码。但是Marc的库是一种运行时解决方案,它使用属性...

35得票2回答
开始使用protobuf-net

我正在尝试使用protobuf.net开始编程。 我从这里下载了最新版本,实现了一个[ProtoContract]类,并且现在正在尝试按照文档中所述使用ProtoBuf.Serializer.Serialize进行序列化。问题是,没有这样的方法。 如何将[ProtoContract]写入磁...

34得票2回答
如何使用ProtoBuf-Net序列化继承类

如果这是重复的,我很抱歉。我已经在多个地方搜索了答案,但都不太理解,包括: ProtoBuf.net基类属性在序列化派生类时未包含 使用protobuf-net序列化继承类 非常抱歉,但我真的没有理解答案。我正在寻找一种更快速、更紧凑的二进制序列化器,ProtoBuf看起来可能是答案。我...

33得票2回答
protobuf-net是否具有用于序列化的内置压缩功能?

我正在比较BinaryFormatter和protobuf-net序列化器,并且对我发现的结果感到非常满意,但奇怪的是,如果我只将每个属性值写入字节数组而没有任何元数据,则 protobuf-net 将对象序列化为一个更小的字节数组。 我知道如果将 AsReference 设置为 true,...

32得票3回答
protobuf-net:如何序列化一个空的列表

我们在序列化空列表方面遇到了一些问题。以下是使用 CF 2.0 的 .NET 代码示例://Generating the protobuf-msg ProtoBufMessage msg = new ProtoBufMessage(); msg.list = new List<Anoth...