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