我正在选购BinaryFormatter替代产品/替代品。
我目前在BinaryFormatter上遇到的问题(替代方案应该可以解决这个问题)是
1)向后兼容(可以反序列化使用早期版本序列化的类)
2)大小
3)速度
我已经检查了AltSerializer,它看起来还不错,但它看起来支持向后兼容,关于速度的一些报告相互矛盾。
我还研究了protobuf-net,它看起来很棒,但在这个阶段它需要做很多工作,因为您必须定义所有的.proto文件。
也许有人会用上面的或者其他的东西来评论一下。
发布于 2010-08-20 12:30:28
我从那以后了解到protobuf-net会尊重DataContract和DataMember属性(不需要.protos ),所以如果你的类支持WCF,或者你想用前述属性装饰它们,那么你可以为你的类使用protobuf-net。
装饰所有的类显然需要一些工作( protobuf的v1需要这样做),但是我知道v2将能够为未装饰的类构建模型。
发布于 2014-03-27 11:42:16
对于向后兼容性处理:使用IFormatter.Binder、ISerializationSurrogate、OptionalFieldAttribute、IDeserializationCallback中的任何一个。
为了提高速度:试试Gramma.Serialization的FastBinaryFormatter,它是BinaryFormatter的替代品,它实现了IFormatter接口,支持所有标准的.NET序列化构造,包括上面提到的。
发布于 2010-08-18 21:58:37
还有Proto#和dotnet-protobufs。
https://stackoverflow.com/questions/3512776
复制相似问题