我正在购买BinaryFormatter替代品/替代品。
我对BinaryFormatter的当前问题(替代方案应该解决这个问题)是
1)向后兼容性(可以反序列化使用早期版本序列化的类)
2)尺寸
3)速度
我已经查看了AltSerializer,它看起来还不错,但有一些关于速度的报告却相互矛盾,但看起来它支持向后兼容性。
我还看了protobuf-net看起来很棒,除了在这个阶段它需要很多工作,因为你必须定义所有的.proto文件。
也许有人使用上述任何一种或其他东西都会关注评论。
答案 0 :(得分:1)
我已经了解到protobuf-net将尊重[DataContract]和[DataMember]属性(不需要.protos),所以如果你的类是WCF就绪的,或者你想用上述属性装饰它们,那么你可以使用protobuf -net开箱即用。
显然需要一些工作来装饰你的所有类(protobuf的v1需要这个)但是我知道v2将能够为你的未修饰的类构建模型。
答案 1 :(得分:1)
对于向后兼容性处理:使用任何IFormatter.Binder,ISerializationSurrogate,OptionalFieldAttribute,IDeserializationCallback API。
速度:尝试Gramma.Serialization的FastBinaryFormatter,BinaryFormatter的替代品,实现IFormatter接口,尊重所有标准的.NET序列化结构,包括上面提到的。
答案 2 :(得分:0)