首页 > 代码库 > 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 压缩传输