Domanda

sto acquistando per un BinaryFormatter alternativa / sostituzione.

I problemi attuali che ho con BinaryFormatter (e le alternative dovrebbe affrontare questo) sono
1) la compatibilità all'indietro (può deserializzare classi serializzato con una versione precedente)
2) formato
3) Velocità

Ho verificato AltSerializer che sembra ok, alcune notizie contrastanti sulla velocità ma sembra che supporta la compatibilità all'indietro.

Ho anche guardato protobuf-net, che sembra fantastico tranne che in questa fase sarebbe necessario un sacco di lavoro come si deve definire tutti i file Proto.

Forse qualcuno secondo uno dei metodi di cui sopra o qualcosa d'altro si sarebbe preso cura di commento.

È stato utile?

Soluzione

Da allora ho imparato che protobuf-net rispetterà il [DataContract] e gli attributi [DataMember] (nessun .protos richiesto) quindi se le classi sono WCF-ready o se si vuole per decorarle con gli attributi di cui sopra, è possibile utilizzare protobuf -net fuori dalla scatola per le classi.

Alcuni lavori è ovviamente necessario per decorare tutte le classi (v1 di protobuf richiede questo) però ho capito v2 sarà in grado di in grado di costruire il modello per le classi non decorati.

Altri suggerimenti

Per una manipolazione compatibilità all'indietro. Utilizzare uno dei IFormatter.Binder, ISerializationSurrogate, OptionalFieldAttribute, di IDeserializationCallback API

Per la velocità: Prova il Gramma.Serialization 's FastBinaryFormatter, una sostituzione per BinaryFormatter, l'attuazione della IFormatter interfaccia, onorando tutti i costrutti NET serializzazione standard, tra cui il sopra citato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top