Я только что узнал, что сжатие было добавлено в WCF, поддерживая Deflate и GZip схемы сжатия. Документация кажется очень расплывчатой в деталях операции.Сжатие потока WCF - Является ли оно адаптивным?
Мне было интересно, если у кого-то есть подробная информация о том, как работает сжатие.
Делается это на основе каждого сообщения (каждое сообщение обрабатывается и сжимается независимо от предыдущих сообщений?) Или, возможно, это делается (или может быть сконфигурирован) в адаптивной моды? (следующего сообщение использует сжимаемость информации, полученной от предыдущих?)
В основном я хотел бы знать, если включить эту новую функцию сжатия может принести пользу болтливого приложения, которое передает небольшие куски данных в реальное время, что является как известно, ОЧЕНЬ сжимаемый, если сгруппирован, но сжимает ОЧЕНЬ плохо, если обрабатывается изолированно. К сожалению, ограничение в режиме реального времени не позволяет группировать несколько сообщений, чтобы помочь процессу сжатия.
Спасибо! Я собирался начать писать некоторые сообщения, которые передавали бы, среди прочего, способность адаптировать сжатие (адаптивное арифметическое кодирование, если быть точным), но ничего более неприятно, чем вкладывать несколько часов в что-то, а затем выяснять, что это было предложено из коробки! –
Что я нашел, так это то, что WCF Stream отправляет не более 64 Кбайт одновременно. И похоже, что я могу взять первые 64 КБ из потока, десериализировать его и использовать. Который говорит мне, что .NET gzipping 64KB куски, что на самом деле довольно ужасно. – Sal