首页 > 代码库 > asp.net zip 压缩传输
asp.net zip 压缩传输
在实际生产中,比如使用xml json 等传输大量数据的时候,有时候会出现等待时间过长,这里分享一个压缩传输的方法
首先到网上去下载一个 ICSharpCode.SharpZipLib.dll 的dll (百度和google)都是可以搜索到的
这里本人是在传输xml 格式文本的时候感觉网速稍慢,所以找到了此优化的方法
这里把代码分享出来
这里是压缩数据的方法
using System;using System.Collections.Generic;using System.Web;using System.Web.Services;using PNXSoft.Framework.Configuration;using PNXSoft.Framework.DataAccess_MySql;using PNXSoft.Framework.Constants;using System.Data;using System.IO;using System.Runtime.Serialization.Formatters.Binary;using ICSharpCode.SharpZipLib.Zip; /// <summary> /// 压缩数据集 /// </summary> /// <param name="ds"></param> /// <returns></returns> public static byte[] CompressDS(DataSet ds) { MemoryStream ms = new MemoryStream(); ZipOutputStream zos = new ZipOutputStream(ms); zos.PutNextEntry(new ZipEntry(ds.DataSetName)); BinaryFormatter bf = new BinaryFormatter(); //DataSetSurrogate dss = new DataSetSurrogate(ds); bf.Serialize(zos, ds); zos.CloseEntry(); zos.Close(); byte[] ret = ms.ToArray(); ms.Close(); return ret; }解压数据的方法using System;using System.Collections.Generic;using System.Web;using System.Data;using System.IO;using System.Runtime.Serialization.Formatters.Binary;using ICSharpCode.SharpZipLib.Zip;/// <summary>///DSCompress 的摘要说明/// </summary>public class DSCompress{ public DSCompress() { // //TODO: 在此处添加构造函数逻辑 // } /// <summary> /// 解压数据集 /// </summary> /// <param name="byt"></param> /// <returns></returns> public static DataSet DecompressDS(byte[] byt) { MemoryStream ms = new MemoryStream(byt); BinaryFormatter bf = new BinaryFormatter(); ZipInputStream zis = new ZipInputStream(ms); zis.GetNextEntry(); DataSet ds = (DataSet)bf.Deserialize(zis); zis.Close(); ms.Close(); return ds; } }
代码没什么难度,希望可以帮助到需要的人
asp.net zip 压缩传输
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。