BinaryFormatter 替代品

问题描述 投票:0回答:3

我正在购买 BinaryFormatter 替代品/替代品。

我目前使用 BinaryFormatter 遇到的问题(以及替代方案应该解决这个问题)是
1)向后兼容性(可以反序列化使用早期版本序列化的类)
2) 尺寸
3)速度

我已经检查了 AltSerializer,它看起来不错,一些关于速度的报告相互矛盾,但它看起来支持向后兼容性。

我还查看了protobuf-net,它看起来很棒,但在这个阶段它需要大量的工作,因为你必须定义所有 .proto 文件。

也许使用上述任何一个或其他东西的人愿意发表评论。

.net serialization binaryformatter
3个回答
1
投票

我了解到 protobuf-net 将尊重 [DataContract] 和 [DataMember] 属性(不需要 .protos),因此如果您的类已准备好 WCF 或者您想用上述属性装饰它们,那么您可以使用 protobuf-net开箱即用,适合您的课程。

装饰所有类显然需要一些工作(protobuf v1需要这个),但是我知道v2将能够为未装饰的类构建模型。


1
投票

对于向后兼容性处理:使用 IFormatter.Binder、ISerializationSurrogate、OptionalFieldAttribute、IDeserializationCallback API 中的任何一个。

为了速度:尝试使用 Gramma.Serialization 的 FastBinaryFormatter,它是 BinaryFormatter 的替代品,实现 IFormatter 接口,遵循所有标准 .NET 序列化结构,包括上述结构。


-1
投票

还有 Proto#dotnet-protobufs

© www.soinside.com 2019 - 2024. All rights reserved.