2010-11-12 1 views
1

Я использую binaryFormatter для сериализации объектов для отправки. Но что касается набора данных ADO.NET, какова наилучшая практика? Я заметил, что бинарный форматировщик переопределяется xmlformatter в случае набора данных? как уменьшить размер & увеличить скорость сериализации?Как сериализовать набор данных для удаленной работы .NET (.NET Framework 3.5 SP1)?

ответ

1

Вы можете сказать ему, чтобы использовать двоичную-режим вместо режима Устаревшие XML:

myData.RemotingFormat = SerializationFormat.Binary; 

Вы также можете попробовать запустить сериалайзер через GZipStream или DeflateStream, но это, вероятно, потребуется отправить его как BLOB, а чем прямой удаленный доступ.

Я также сделал некоторые последние работы, глядя на толкая DataTable через Protobuf-сеть, here, including comparison metrics - даже если вы не хотите, Protobuf-твиков, данные числа, должны помочь вам сделать выбор между XML/двоичной и ванилью/GZIP/выкачать.

+0

Скрыть тему, но знаете ли вы, как предотвратить передачу Схемы в нетипизированном наборе данных? – leppie

+0

@leppie - в предположении: 'data.SchemaSerializationMode = SchemaSerializationMode.ExcludeSchema;' –

+0

К сожалению, для этого требуется типизированный набор данных :(Которое я не могу использовать в своем случае (MS Sync framework 1.0). – leppie