asp.net zip 压缩传输

简介: 原文:asp.net zip 压缩传输在实际生产中,比如使用xml json 等传输大量数据的时候,有时候会出现等待时间过长,这里分享一个压缩传输的方法 首先到网上去下载一个 ICSharpCode.
原文: 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;

    } 

}

代码没什么难度,希望可以帮助到需要的人

目录
相关文章
|
5月前
.NET 压缩/解压文件
【9月更文挑战第5天】在 .NET 中,可利用 `System.IO.Compression` 命名空间进行文件的压缩与解压。首先引入相关命名空间,然后通过 GZipStream 类实现具体的压缩或解压功能。下面提供了压缩与解压文件的方法示例及调用方式,便于用户快速上手操作。
|
7月前
|
算法 API 数据安全/隐私保护
.NET使用原生方法实现文件压缩和解压
.NET使用原生方法实现文件压缩和解压
.NET使用原生方法实现文件压缩和解压
|
Shell C# 图形学
.net 图片无损压缩
命名空间: using System.Drawing.Imaging; using System.Drawing; using System.Drawing.Drawing2D; #region GetPicThumbnail /// /// 无损压缩图片 ...
1524 0
.net 裁剪图片(不压缩)
命名空间: using System.Drawing; using System.Drawing.Imaging; /// /// 生成图片缩略文件 /// /// 图片源文件 /// 缩略图宽...
1112 0
|
JavaScript 前端开发 .NET

热门文章

最新文章