Как определить размер сообщения WCF в уровень кодировщика

Я создаю пользовательский кодер, сжимающий WCF ответы. Он основан на кодировщике Gzip в примерах Microsoft WCF и в этом блоге:

http://frenk.wordpress.com/2009/12/04/gzip-compression-wcfsilverlight/

У меня есть все работает, но теперь я хотел бы применить сжатие, только если ответ превышает определенный размер, но я не уверен, как получить общий размер фактического сообщения с уровня кодировщика.

Мне нужно было бы получить размер сообщения как в методе WriteMessage (...) в EncoderFactory, поэтому я знаю, нужно ли сжимать сообщение), так и в методе BeforeSendReply (...) в DispatchMessageInspector, чтобы я мог добавить «gzip» ContentEncoding заголовок ответа. Запросы всегда небольшие и не сжимаются, поэтому мне не нужно об этом беспокоиться.

Любая помощь приветствуется.

Джон.

5
задан user250837 16 August 2010 в 17:08
поделиться