在实际生产中,比如使用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 压缩传输的更多相关文章

  1. asp.net 文件压缩zip下载

     今天分享下昨天做的一个东西 asp.net 的文件  zip 批量下载,首先你需要去 到http://dotnetzip.codeplex.com这个站点下载zip 的包,在里面找到 Ionic.Z ...

  2. C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志

    C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...

  3. Android总结之Gzip/Zip压缩

    前言: 做过Android网络开发的都知道,在网络传输中我们一般都会开启GZIP压缩,但是出于刨根问底的天性仅仅知道如何开启就不能满足俺的好奇心的,所以想着写个demo测试一下比较常用的两个数据压缩方 ...

  4. RAR和ZIP:压缩大战真相

    转:http://fqd2eh4y.blog.163.com/blog/static/69195855200801035015857 前言--王者归来? 等待足足两年之久,压缩霸主WinZip终于在万 ...

  5. PHP实现zip压缩打包下载

    先来看PHP实现文件及文件夹的zip压缩 这里使用PHP扩展的ZipArchive类,在使用之前要将php.ini文件中的zlib.output_compression设置为On 代码如下: publ ...

  6. Apache 开启压缩传输

    在 /etc/httpd/conf/httpd.conf 中添加如下配置: # Enable gzip - by Jerryhuang # <IfModule mod_deflate.c> ...

  7. RAR和ZIP:压缩大战真相 (挺赞值得了解)

    前言--王者归来? 等待足足两年之久,压缩霸主WinZip终于在万众期待下发布了9.0正式版.全世界自然一片沸腾,在世界各大知名下载网站中,WinZip9.0再次带起下载狂潮.然而此时国内并没有王者回 ...

  8. HTTP要点概述:七,编码,压缩传输,分块传输

    一,编码: HTTP 在传输数据时可以按照数据原貌直接传输,但也可以在传输过程中通过编码提升传输速率.通过在传输时编码,能有效地处理大量的访问请求.但是,编码的操作需要计算机来完成,因此会消耗更多的 ...

  9. C# zip压缩 Ionic.Zip.dll

    #region Ionic.Zip压缩文件 //压缩方法一 public void ExeCompOne() { string FileName = DateTime.Now.ToString(&qu ...

随机推荐

  1. hdu4291之矩阵快速幂

    A Short problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  2. TCP/IP TIME_WAIT状态原理

    原文转载:http://elf8848.iteye.com/blog/1739571 IME_WAIT状态原理 ---------------------------- 通信双方建立TCP连接后,主动 ...

  3. C++学习笔记之字符函数库cctype

    C++从C语言继承了一个与字符相关的.非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母.数字.标点符号等工作,这些函数原型是在头文件cctype(老式风格ctype.h)中定义的. 下表对这 ...

  4. MySQL 备份恢复

    1:备份常用工具: mysqldump, xtrabackup mysqldump: 原生数据导出工具,以sql的形式导出保存 xtrabackup: percona团队提供的备份工具,基于文件系统的 ...

  5. UE 的使用

    1.查找,只匹配整个词语:匹配词语Andy,而不匹配包含Andy的词语,Andy前后有特殊字符才能匹配成功,前后的特殊字符表明Andy是一个词语. 2.正则表达式匹配,如下: 符号 功能 % 匹配行首 ...

  6. [Angular2 Router] Optional Route Query Parameters - The queryParams Directive and the Query Parameters Observable

    In this tutorial we are going to learn how to use the Angular 2 router to pass optional query parame ...

  7. Spring MVC 3.0 深入

    核心原理: . 用户发送请求给服务器.url:user.do . 服务器收到请求.发现DispatchServlet可以处理.于是调用DispatchServlet. . DispatchServle ...

  8. iOS开发——UI篇Swift篇&UIAlertView/UIActionSheet

    UIAlertView/UIActionSheet UIAlertView //一个按钮的提醒 @IBAction func oneButtonAler() { //创建单一按钮提醒视图 let on ...

  9. Cocos2d-html5 笔记2: director

    今天看了cocos2d-html5代码里面的Director. 最简单的框架 先抛开cocos2d的框架不说,对于一个游戏来说,基本的逻辑框架还是很简单的,首先初始化的时候注册mouse, touch ...

  10. oc-28-构造函数

    Dog.h #import <Foundation/Foundation.h> @interface Dog : NSObject { NSString *_name; int _age; ...