4

BinaryFormatterの代替品/交換品を購入しています。

BinaryFormatterで私が抱えている現在の問題(および代替案はこれに対処する必要があります)は、
1)下位互換性(以前のバージョンを使用してシリアル化されたクラスを逆シリアル化できます)
2)サイズ
3)速度 です

AltSerializerをチェックしましたが、速度に関していくつかの矛盾するレポートがありますが、下位互換性をサポートしているようです。

また、 protobuf-netも調べましたが、この段階では、すべての.protoファイルを定義する必要があるため、多くの作業が必要になる点が異なります。

おそらく、上記のいずれかまたは他の何かを使用している誰かがコメントしたいと思うでしょう。

4

3 に答える 3

1

それ以来、protobuf-netは[DataContract]属性と[DataMember]属性(.protosは不要)を尊重することを学びました。したがって、クラスがWCFに対応している場合、または前述の属性でクラスを装飾したい場合は、protobuf-netoutを使用できます。あなたのクラスのための箱の。

すべてのクラスを装飾するには明らかにいくつかの作業が必要です(protobufのv1ではこれが必要です)が、v2では装飾されていないクラスのモデルを構築できることを理解しています。

于 2010-08-20T04:30:27.940 に答える
1

下位互換性処理の場合:IFormatter.Binder、ISerializationSurrogate、OptionalFieldAttribute、IDeserializationCallbackAPIのいずれかを使用します。

速度について:Gramma.SerializationのFastBinaryFormatterを試してください。これはBinaryFormatterの代わりであり、 IFormatterインターフェイスを実装し、上記を含むすべての標準の.NETシリアル化構造を尊重します。

于 2014-03-27T03:42:16.150 に答える
0

Proto#dotnet-protobufsもあります。

于 2010-08-18T13:58:37.017 に答える