如何在编码器级别确定WCF消息大小

use*_*837 5 compression wcf message gzip encoder

我正在构建一个压缩WCF响应的自定义编码器.它基于Microsoft的WCF示例中的Gzip编码器和此博客文章:

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

我已经完成了所有工作,但现在我只想在回复超过一定大小时应用压缩,但我不知道如何从编码器级别检索实际消息的总大小.

我需要在EncoderFactory的WriteMessage(...)方法中获取消息大小,因此我知道是否压缩消息)和DispatchMessageInspector中的BeforeSendReply(...)方法,以便我可以添加"gzip"ContentEncoding标头的响应.请求总是很小而且没有压缩,所以我不需要担心.

任何帮助赞赏.

乔恩.

Tan*_*ner 0

您可以尝试根据reply.ToString.Length()和计算它message.ToString.Length()