[转] 关于 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 转载请联系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466718.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聊一聊我自己的从业经历和感悟

嵌入式学习,是一个很枯燥的过程,我记得在学习三极管的时候,我真的对这个东西一点感觉都没有,我知道三极管可以放大,然后电子从一个地方去到了另一个地方,然后就触发了某个开关,就发了大水。然后…

大数据——sqoop操作mysql和hive导出导入数据

1.sqoop安装 (1)下载CDH版本的sqoop (2)解压并进行环境配置 环境变量为: export SQOOP_HOME/home/sqoop-1.4.6-cdh5.15.1 export PATH$PATH:$SQOOP_HOME/bin 在sqoop安装目录/conf/下: #新建sqoop-en…

年终了,肿一下

也没有没有跟大家好好唠唠,一年时间过得飞快,我还记得那时候从老家开车来深圳,一路狂奔,在广西入境广东的时候,因为疫情排查,我们在那里堵了3个小时,还因为路途颠簸,车子一起一停&am…

大数据——spark安装部署和python环境配置

需要配置多台服务器,实验环境:master和data两台服务器,已安装好hadoop,可参考前文!!! 1.spark安装 master安装 (1)下载scala和spark (2)解压并…

2021年,这是你们收到的第一份礼物

一、 前言大家好,2020年就要过去了,这一年来,感谢大家对公众号的支持,但是感谢不能停留在嘴上,所以,这次邀请了正点原子赞助。一起给大家送点礼品!作为一名 电子/嵌入式 人,正点原子…

深入理解Linux内核进程上下文切换

在原作者基础上修改了些文字描述,让文章更加通俗易懂作者简介韩传华,就职于南京大鱼半导体有限公司,主要从事linux相关系统软件开发工作,负责Soc芯片BringUp及系统软件开发,乐于分享喜欢学习,喜欢专研Linux…

Linux C高级编程——网络编程基础(1)

Linux高级编程——BSD socket的网络编程 宗旨:技术的学习是有限的,分享的精神是无限的。 一网络通信基础 TCP/IP协议簇基础:之所以称TCP/IP是一个协议簇,是因为TCP/IP包含TCP 、IP、UDP、ICMP等多种协议。下图是OSI模型与TCP/IP模…

使用SQLDMO中“接口SQLDMO.Namelist 的 QueryInterface 失败”异常的解决方法

SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象),它封装 Microsoft SQL Server 数据库中的对象。它允许我们通过COM对象,对SQLServer进行管理。SQLDMO对象来自SQLDMO.dll。因为SQLDMO.dll是一个COM对象…

Linux C高级编程——网络编程之以太网(2)

Linux网络编程——以太网 宗旨:技术的学习是有限的,分享的精神是无限的。 1、以太网帧格式 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。用ifconfig命令查看&#…

Tomcat 打开jmx

jmx 配置后可以通过windows java客户端自带的jconsole.exe配置登陆,直观的查看jvm的情况及系统的各项指标; 一、配置linux下tomcat的jmx 具体配置如下,如果生产环境可以适当坐下调整。 # head /usr/local/tomcat/bin/catalina.sh #!/bin/shC…

我不是编译器专家

这是王垠发表的一篇文章,转给大家看看,希望有些收获王垠是谁?王垠,四川大学97级本科毕业,保送到清华大学计算机系直博。期间曾在清华大学计算机系软件所就读,主要进行集成电路布线算法的研究。在此期间&…

自定义实体类简介

< DOCTYPE html PUBLIC -WCDTD XHTML TransitionalEN httpwwwworgTRxhtmlDTDxhtml-transitionaldtd> 摘要&#xff1a;有些情况下&#xff0c;非类型化的 DataSet 可能并非数据操作的最佳解决方案。本指南的目的就是探讨 DataSet 的一种替代解决方案&#xff0c;即&#…

Linux C高级编程——网络编程之TCP(3)

Linux网络编程&#xff08;三&#xff09;——TCP 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 1、TCP段格式 和UDP协议一样也有源端口号和目的端口号&#xff0c;通讯的双方由IP地址和端口号标识。32位序号、32位确认序号、窗口大小。4位首部长度和I…

机器学习——超参数调优

超参数是在开始学习过程之前设置值的参数&#xff0c;而不是通过训练得到的参数数据。超参数可以分为两种类型&#xff1a;定义模型及结构本身的参数&#xff0c;目标函数与与优化算法所需的参数&#xff0c;前者用于训练和预测阶段&#xff0c;后者用于训练阶段。 在实战过程…

单片机的Bootloader,可以实现用户轻松升级程序

去某新能源大厂出了一次差&#xff0c;这次出差是为了升级程序解决Bug&#xff0c;需要给单片机重新烧录.hex文件&#xff0c;用户已经将产品封装起来&#xff0c;无法开盖&#xff0c;只能使用CAN总线来更新程序&#xff0c;用Bootloader实现。其实就是通过上位机把.bin/hex文…

Linux C高级编程——网络编程之UDP(4)

Linux网络编程——UDP 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 下面分析一帧基于UDP的TFTP协议帧。 以太网首部 0000: 00 05 5d 67 d0 b1 00 05 5d 61 58 a8 08 00 IP首部0000: 45 00 0010: 00 53 93 25 00 00 80 11 25 ec c0 a8 00 37 c0 a8…

Android串口通信apk源码

1、SerialPortHelper「Android串口通信」介绍原项目地址https://github.com/freyskill/SerialPortHelperAndroid串口通讯助手可以用于需要使用串口通信的Android外设&#xff0c;该库有如下特点&#xff1a;1、串口通信部分使用C实现&#xff0c;在笔者接触的部分设备上实测&am…

NLP实战-中文新闻文本分类

目录 1、思路 2、基于paddle的ERINE模型进行迁移学习训练 3、分步实现 3.1 获取数据 &#xff08;1&#xff09;数据解压 &#xff08;2&#xff09;将文本转成变量&#xff0c;这里为了好计算&#xff0c;我只选了新闻标题做文本分类 3.2 中文分词 基于jieba的分词 基…

Ken Thompson爷爷的经典复制自身代码程序 - Python版本(只用两行!)

Ken Thompson可是大牛人了&#xff01;不认识的人赶快Google/百度一下。Ken爷爷是Unix创始人&#xff0c;C语言鼻祖&#xff01;Ken 当时大学时候没游戏玩&#xff0c;就自己给自己出题目写程序&#xff0c;就有了这个复制自身代码的程序了&#xff0c;相当经典&#xff0c;当然…

显示日期的指令: date

1.显示日期的指令&#xff1a; date &#xff08;1&#xff09;参数&#xff1a; &#xff08;2&#xff09;实例 转载于:https://www.cnblogs.com/yfacesclub/p/8434369.html