views:

61

answers:

2

I am shopping for a BinaryFormatter alternative/replacement.

The current issues I have with BinaryFormatter (and the alternatives should address this) are
1) backwards compatibility (can deserialize Classes serialized using an earlier version)
2) size
3) speed

I have checked out AltSerializer which looks ok, some conflicting reports on speed however it looks like it supports backwards compatibility.

I also looked at protobuf-net which looks fantastic except at this stage it would require alot of work as you have to define all the .proto files.

Perhaps someone using either of the above or something else would care to comment.

A: 

There's also Proto# and dotnet-protobufs.

Darin Dimitrov
They also require a fair bit of initial overhead to get going (.proto definitions).
wal
In the sample given for `Proto#` I don't see any `.proto` definitions.
Darin Dimitrov
ah sorry, I did look at Proto yesterday, its in alpha and not production ready.
wal
+1  A: 

I have since learned that protobuf-net will respect the [DataContract] and [DataMember] attributes (no .protos required) so if your classes are WCF-ready or you want to decorate them with aforementioned attributes then you can use protobuf-net out of the box for your classes.

Some work is obviously required to decorate all your classes (v1 of protobuf requires this) however I understand v2 will be able to able to build the model for your undecorated classes.

wal