BinaryFormatterの代替
-
29-09-2019 - |
質問
私はバイナリフォームの代替/交換を買い物しています。
BinaryFormatterで私が抱えている現在の問題(および代替案はこれに対処する必要があります)は
1)後方互換性(以前のバージョンを使用してシリアル化されたクラスを降らせることができます)
2)サイズ
3)速度
私は大丈夫だと思われるaltserializerをチェックしましたが、速度に関する矛盾するレポートをいくつかチェックしましたが、逆方向の互換性をサポートしているように見えます。
私も見ました protobuf-net この段階では、すべての.protoファイルを定義する必要があるため、多くの作業が必要になります。
おそらく、上記のどちらかを使用している人や他の何かを使用している人は、コメントすることを気にするでしょう。
解決
それ以来、protobuf-netが[dataContract]および[datamember]属性を尊重することを学びました(.protos不要)。クラス用の箱の。
すべてのクラスを飾るためには明らかにいくつかの作業が必要です(ProtobufのV1ではこれが必要です)が、V2は装飾されていないクラスのモデルを構築できると理解しています。
他のヒント
後方互換性の取り扱いには、iformatter.binder、iserializationsurlogate、optionalfieldattribute、ideserializationcallback APIのいずれかを使用します。
スピードのために:試してみてください Gramma.Serializationバイナリフォーマッタの代替品であるfastbinaryformatter、 iformatter インターフェイス、上記を含むすべての標準.NETシリアル化コンストラクトを称えます。
あります プロト# と dotnet-protobufs.