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