zoukankan      html  css  js  c++  java
  • [转] 关于 WCF 中数据压缩的几篇文章

    原文:http://www.cnblogs.com/jiabao/archive/2007/12/04/982534.html
    在.net3.0出现以前我们进行分布式开发式有两个选择一个是webservice,另一个是remoting;

    在早期的项目中,比较喜欢remoting,因为remoting可控性好,也好部署,不需要依赖其他的宿主环境。 今年的做的项目大部分都是webservice的,因为在这几年remoting过程中遇到了几个问题,比较典型的就是remoting的宿主程序容易出现异常,并且这个异常很难捕捉,一旦宿主程序的压力过大,就会出现这个情况。比较脸红的是,这个问题到现在也没有发现是怎么产生的,也就无从说解决了

    凡是涉及到分布式部署的项目都会有数据的传输问题:要对需要传输的数据进行压缩。较早的项目中,都是将dataset压缩为流对象(经过序列化的)后进行传递的,压缩比1/4的样子。

    .net3.0的出现极大的方便了分布式项目的开发部署,在学习wcf时候,一直在寻找在wcf构架下的数据压缩方案,就将搜集到一些文章汇总在这里(这方面的东西少的可怜),供大家参考。个人比较喜欢 WS-Compression for WCF 感觉思路更清晰

    ms的文章:Custom Message Encoder: Compression Encoder
    http://msdn2.microsoft.com/en-us/library/ms751458.aspx,例子在TechnologySamples、Extensibility、Channels、MessageEncoder、Compression目录中

    msdn社区的文章:Serialize Datasets as binary (not XML) in WCF
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1618046&SiteID=1&pageid=0#1648392
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1520385&SiteID=1,这里面Pablo Cibraro 的回复非常清晰,俺就摘录在这里了

    There are basically three ways to implement compression in WCF.

    1. At transport level using a message encoder which compress all the data throughout the entire channel (From the client to the service). There is a sample of this in the WCF SDK,  [SDK Folder]TechnologySamples/Extensibility/MessageEncoder/Compression

    2. At message level, adding some metadata to the soap message (Soap headers) and compressing the soap body. This approach can use a WCF binding or a MessageInspector Behavior to modify the soap messages. You can find an example here, http://weblogs.asp.net/cibrax/archive/2006/03/29/WS_2D00_Compression-for-WCF.aspx

    3. Only for the Http transport, you can use the Http Compression capability. I haven't seen any implementation of this technique so far.

    I hope this can help you

    Regards,

    Pablo.

    WS-Compression for WCF
    http://weblogs.asp.net/cibrax/archive/2006/03/29/441398.aspx


    继续补充中...



    --畅所欲言,随心而谈--
    本博客文章全部原创,转载请注明出处,谢谢
    版权所有 jiabao.cnblogs.com 转载请联系
  • 相关阅读:
    golang以服务方式运行
    nginx重写规则配置
    PHP的 parse_ini_file 解析配置文件
    在Yii2中集成Markdown编辑器
    理解 is_callable
    Composer安装yii2-imagine 压缩,剪切,旋转,水印
    Yii2 基于header 实现接口版本控制
    (1) laravel php artisan list make
    php 阿里云国内短信实例
    php 云片国外短信实例
  • 原文地址:https://www.cnblogs.com/huqingyu/p/1172522.html
Copyright © 2011-2022 走看看