Я занимаюсь разработкой приложения в стиле мастер-раб. Главное приложение отправит данные о состоянии ведомому (-ым) на обработку и отображение с некоторой постоянной скоростью. Данные о состоянии упакованы в один класс, который содержит много полей. Эти типы полей состоят из примитивов, классов, интерфейсов, списков интерфейсов и т. Д. Все типы являются либо BCL, либо пользовательскими типами, поэтому пользовательские типы могут быть изменены при необходимости. И ведущее, и ведомое приложения будут .NET 4.0. Я не занимаюсь версионностью сериализации, так как главное и подчиненное приложения будут доставляться в паре.
Мне нужен «быстрый» способ сериализации данных состояния на главном устройстве и десериализации их на ведомых устройствах. Когда я говорю «быстро», я больше говорю о времени разработки (но время обработки может быть фактором, если решение будет ужасным). Тем не менее, ведущий и ведомый устройства будут распределены по глобальной сети, поэтому неплохой уровень компактности также подойдет.
Для быстрого решения я сейчас думаю о простом использовании BinaryFormatter
и последующем сжатии потока с помощью GZipStream
. Это путь для .NET 4.0?