本文及程序不是介绍WCF怎么用,而是研究如何在WCF通信时的通道两端自动进行数据压缩和解压缩, 从而增加分布式数据传输速度。
而且,这个过程是完全透明的,用户及编程人员根本不需要知道它的存在,相当于HOOK在两端的一个 组件。可以使用中网络带宽较小的网络环境中。当WCF在两个实体间通讯的时候,便自动创建一个信息通道转接通讯,这个消息包含数 据请求和相应。WCF使用特殊的编码器将请求和响应数据转换成一系列的字节。
我所带的项目里遇到大文件分布式传输问题,经过分析考虑采用WCF通道压缩技术来解决此问题。执行 这样的编码是需要传输大文件(XML格式)由一台机器到另一台机器传输,而连接有速度限制。我不用写一个特殊的函数边压缩 和边解压,而是配置传输通道可以做到这一点,这种方式压缩可重复使用的任何契约。我发现自己编写的消息编码器是最简单的方式 来实现功能,真正的问题是如何编写信息编码器,在MSDN上没有找到任何关于此应用的实例。消息契约编码器的想法是Hook连接两端发 送和接收信息的渠道。程序是采用Microsoft Visual Studio 2008 WCF设计。
图1 WCF消息通道编码过程时序图
时间: 2024-10-01 20:55:49