Я создаю пользовательский кодер, который сжимает ответы WCF. Он основан на кодировщике Gzip в примерах Microsoft WCF и в этом блоге:
http://frenk.wordpress.com/2009/12/04/gzip-compression-wcfsilverlight/
У меня все это работает, но теперь я хотел бы применить сжатие, только если ответ превышает определенный размер, но я не уверен, как извлечь общий размер фактического сообщения с уровня кодировщика.
Мне нужно было бы получить размер сообщения как в методе WriteMessage (...) в EncoderFactory, поэтому я знаю, нужно ли сжимать сообщение), так и в методе BeforeSendReply (...) в DispatchMessageInspector, чтобы я мог Можно добавить заголовок «gzip» ContentEncoding к ответу. Запросы всегда маленькие и не сжимаются, поэтому мне не нужно об этом беспокоиться.
Любая помощь приветствуется.
Jon.