dataset GZIP压缩问题(急)

问题描述

小弟在做一个C/S项目,要从客户端通过DATASET把数据用GZIP压缩用发到另一台机子的服务器端,求给出详细代码

解决方案

解决方案二:
//把DATASET序列化成二进制流,并压缩二进制流privatebyte[]GZipDataSet(DataSetds,refstringerrorinfo){try{BinaryFormatterser=newBinaryFormatter();MemoryStreamunCompressMS=newMemoryStream();ds.RemotingFormat=SerializationFormat.Binary;ser.Serialize(unCompressMS,ds);byte[]bytes=unCompressMS.ToArray();intlenbyte=bytes.Length;MemoryStreamcompressMs=newMemoryStream();GZipStreamcompressedStream=newGZipStream(compressMs,CompressionMode.Compress,true);compressedStream.Write(bytes,0,lenbyte);compressedStream.Close();unCompressMS.Close();compressMs.Close();byte[]zipbytes=compressMs.ToArray();intlen=zipbytes.Length;returnzipbytes;}catch(Exceptionex){errorinfo=ex.ToString();returnnull;}}//解压缩二进制流,并将解压缩后的二进制流还原成DataSetprivatestaticDataSetGetDataSetFromByte(byte[]data,refstringerrorinfo){try{MemoryStreaminput=newMemoryStream();input.Write(data,0,data.Length);input.Position=0;GZipStreamgzip=newGZipStream(input,CompressionMode.Decompress,true);MemoryStreamoutput=newMemoryStream();byte[]buff=newbyte[4096];intread=-1;read=gzip.Read(buff,0,buff.Length);while(read>0){output.Write(buff,0,read);read=gzip.Read(buff,0,buff.Length);}gzip.Close();byte[]rebytes=output.ToArray();output.Close();input.Close();MemoryStreamms=newMemoryStream(rebytes);BinaryFormatterbf=newBinaryFormatter();objectobj=bf.Deserialize(ms);DataSetds=(DataSet)obj;returnds;}catch(Exceptionex){errorinfo=ex.ToString();returnnull;}}
解决方案三:
DATASET要求不能序列化,并且用内存流也不行吧,因为在俩个不同的机子上也,麻烦你在想想
解决方案四:
帮你顶上去,一定不能让它沉下去。同时关注此问题......
解决方案五:
google上直接搜索IMessageSink和Remoting,有很多文章说的

时间: 2024-10-27 04:24:55

dataset GZIP压缩问题(急)的相关文章

想加快网页加载速度?开启GZIP压缩吧

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 网站页面体积大,网站加载很慢,这是很多站长很头疼的问题.可是为了把体积缩小,总不可能把内容全部删掉吧,鱼和熊掌可以兼得吗?答案是可以的.现在很多服务器以及空间都支持Gzip压缩.利用Gzip压缩可以极大地减小页面体积,加快网页浏览速度. Gzip压缩,什么东东?gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,一般

连接-空间中的网站怎么开启GZIP压缩

问题描述 空间中的网站怎么开启GZIP压缩 我的网站放在空间中,只能用FTP连接,我该怎么修改GZIP压缩呢? 解决方案 直接问提供你空间的运营商.你缴的费用中就包括了售后服务,不问白不问.

IIS6和IIS7对静态文件gzip压缩方式

先说明下为什么要写这篇文章,以及纠结于这个"小问题".首先开启静态文件的gzip压缩非常有利用提高网站的访问速度,并且有效减少蜘蛛爬行静态页面的time-taken,同时也不会像开启动态文件压缩一样可能会对百度蜘蛛造成200 0 64的抓取问题,所以一方面,网站速度快有利于提高用户体验,另一方面,google管理员博客在今年已经明确表示网站速度是排名的因素之一,而对于拿国外主机做百度中文站优化,time-taken不理想会导致百度蜘蛛内页抓的少,国平之前在自己博客文章网页加载速度是如何

IIS开启GZIP压缩的方法及失败的解决方案

本文讲解了详细的IIS下配置GZIP压缩的方法,以及正确配置后,仍然无法正常开启GZIP压缩的解决方案,这些经验都是本站作者在实际操作中总结出来的,分享一下... 开启GZIP压缩有一个快捷的方法,把下面内容复制粘贴到记事本,存成gzip.bat,然后放到C:\Inetpub\AdminScripts  目录(目录内有adsutil.vbs文件),执行就自动开启GZIP的配置,而不用手工去做. [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 下面再介绍手工配置的方法: 1. 打开

php curl 中的gzip压缩性能测试

前因:        1 请求接口次数很多,每日两亿多次,主要是有些接口返回数据量很大高达110KB(为了减少请求次数,将多个接口合并成一个导致的).<br>后端接口的nginx已经开启gzip,所以做个测试,看看是否在请求时使用压缩解压       php CURL 的扩展安装这里就不说了   用到的curl的两个参数     //在http 请求头加入 gzip压缩<br>curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-En

如何启用IIS的GZIP压缩功能来给你的网站提速

现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率.对于纯文本来讲,压缩率是相当可观的.如果每个用户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了.   IIS6已经内建了Gzip压缩的支持,可惜,没有设置更好的管理界面.所以要打开这个选项,还要费些功夫.   首先,如果你需要压缩静态文件(HTM

谈PHP如何实现页面GZIP压缩输出

GZIP(GNU-ZIP)是一种压缩技术.经过GZIP压缩后页面大小可以变为原来的30%甚至更小.这样用户浏览的时候就会感觉很爽很愉快!要实现GZIP压缩页面需要浏览器和服务器共同支持,实际上就是服务器压缩,传到浏览器后浏览器解压并解析.浏览器那边不需要我们担心,因为现在绝大多数浏览器都支持解析GZIP过的页面.我们只要把页面在服务器端压缩再输出到浏览器就行了. 有点罗嗦,下面说正事:正如要制作压缩饼干,先要拿到原料,要压缩一个页面,首先要获得要输出的内容.PHP中的ob_start()(ob

linux下gzip压缩同样内容大小不一样的原因

一份数据,两种传输方式进行收集. 一份数据:有多台数据采集节点或者多个数据源 两种方式:一种是从依次多个采集节点或者多个数据源将数据拷贝过来,合并为一个文件 另外一种是多个采集节点或者数据源同时向汇总端发送数据,最后合并为一个文件 两种方式的不同:汇总后的数据都是一样的,但是顺序会不一样 使用gzip命令压缩合并文件....最终显示压缩后的文件大小不一样.... 由此可见同样的数据用gzip压缩比较大小需要保证顺序一致!!压缩算法导致顺序不同压缩结果就不同... 这个问题折腾了好久才发现,主要原

PHP使用zlib扩展实现页面GZIP压缩输出

GZIP(GNU-ZIP)是一种压缩技术.经过GZIP压缩后页面大小可以变为原来的30%甚至更小.这样用户浏览的时候就会感觉很爽很愉快! 要实现GZIP压缩页面需要浏览器和服务器共同支持,实际上就是服务器压缩,传到浏览器后浏览器解压并解析.浏览器那边不需要我们担心,因为现在绝大多数浏览器都支持解析GZIP过的页面.我们只要把页面在服务器端压缩再输出到浏览器就行了. 有点罗嗦,下面说正事: 正如要制作压缩饼干,先要拿到原料,要压缩一个页面,首先要获得要输出的内容.PHP中的ob_start()(o