none
WCF服务发布后,可以通过设置来压缩数据吗? RRS feed

  • 问题

  • 举个例子说明:

    WCF服务方法 public List<MyClass> GetData() 这个方法,返回的list集合里面项比较多,数据量比较大。

    WCF可以通过设置,压缩传输吗?当前台来当用这个服务方法的时候可以减少网络中传输的数据量。

    2010年5月26日 9:06

答案

全部回复

  • 是的,可以压缩传输。使用一些压缩的类库,比如GZip。

    但是你要使用消息契约。

    这个实现也很简单,例子很多,MSDN给出的WCF例子里也有,另外网上也很多例子。

    这里有个文章:http://msdn.microsoft.com/zh-cn/library/ms751458(VS.90).aspx

    自定义消息编码器:压缩编码器

     

    此示例演示如何使用 Windows Communication Foundation (WCF) 平台来实现自定义编码器。该示例由一个客户端控制台程序 (.exe)、一个自承载的服务控制台程序 (.exe) 和一个压缩消息编码器库 (.dll) 组成。该服务实现定义“请求-答复”通信模式的协定。该协定由 <tt>ISampleServer</tt> 接口定义,该接口公开基本的字符串回送操作(<tt>Echo</tt> 和 <tt>BigEcho</tt>)。客户端向给定的操作发出同步请求,服务通过将该消息回送到客户端来进行回复。客户端和服务活动显示在控制台窗口中。提供该示例的目的在于演示如何编写自定义编码器并演示压缩消息对网络的影响。可以为压缩消息编码器添加计算消息大小和/或处理时间的方法。

    此示例演示如何生成自定义消息编码器并将其集成到 WCF 应用程序中。库 GZipEncoder.dll 是同时用客户端和服务部署的。该示例还演示对消息进行压缩所带来的影响。GZipEncoder.dll 中的代码演示以下操作:

    • 生成自定义编码器和编码器工厂。
    • 为自定义编码器开发绑定元素。
    • 使用自定义绑定配置集成自定义绑定元素。
    • 开发自定义配置处理程序以允许对自定义绑定元素进行文件配置。

    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    老徐的博客】:http://www.cnblogs.com/frank_xl/

    【中文论坛】:微软WCF中文技术论坛
    【英文论坛】:微软WCF英文技术论坛

    2010年5月27日 8:27
    版主
  • 我是用sharpzip进行压缩的。效果还可以。

    大家也可以去试试。

    2010年5月29日 10:51
  • 您好,您有压缩的例子可以共享吗?
    2011年2月24日 2:13