1.直接返回DataSet对象

  1. [WebMethod(Description = "直接返回DataSet对象")]
  2. public DataSet GetUserListDateSet()
  3. {
  4. SqlConnection sqlCon = new SqlConnection("Data Source=.,1444;Initial Catalog=StudyNet;Persist Security Info=True;User ID=**;Password=******");
  5. SqlCommand cmd = new SqlCommand();
  6. cmd.Connection = sqlCon;
  7. cmd.CommandText = "select * from T_User";
  8. SqlDataAdapter da = new SqlDataAdapter(cmd);
  9. DataSet ds = new DataSet();
  10. da.Fill(ds);
  11. return ds;
  12. }
2.返回DataSet对象用Binary序列化后的字节数组
  1. [WebMethod(Description = "返回DataSet对象用Binary序列化后的字节数组")]
  2. public byte[] GetUserListDateSetBytes()
  3. {
  4. DataSet ds = GetUserListDateSet();
  5. //序列化
  6. BinaryFormatter ser = new BinaryFormatter();
  7. MemoryStream stream = new MemoryStream();
  8. ser.Serialize(stream, ds);
  9. return stream.GetBuffer();
  10. }
3.返回DataSetSurrogate对象用Binary序列化后的字节数组
  1. [WebMethod(Description = "返回DataSetSurrogate对象用Binary序列化后的字节数组")]
  2. public byte[] GetUserListDateSetSurrogateBytes()
  3. {
  4. DataSet ds = GetUserListDateSet();
  5. DataSetSurrogate dss = new DataSetSurrogate(ds);
  6. //序列化
  7. BinaryFormatter ser = new BinaryFormatter();
  8. MemoryStream stream = new MemoryStream();
  9. ser.Serialize(stream, dss);
  10. return stream.GetBuffer();
  11. }
4.返回DataSetSurrogate对象用Binary序列化并Zip压缩后的字节数组
  1. [WebMethod(Description = "返回DataSetSurrogate对象用Binary序列化并ZIP压缩后的字节数组")]
  2. public byte[] GetUserListDateSetSurrogateZipBytes()
  3. {
  4. DataSet ds = GetUserListDateSet();
  5. DataSetSurrogate dss = new DataSetSurrogate(ds);
  6. //序列化
  7. BinaryFormatter ser = new BinaryFormatter();
  8. MemoryStream stream = new MemoryStream();
  9. ser.Serialize(stream, dss);
  10. //压缩
  11. return Compress(stream.ToArray());
  12. }
  13. /// <summary>
  14. /// 压缩数据
  15. /// </summary>
  16. /// <param name="data"></param>
  17. /// <returns></returns>
  18. public byte[] Compress(byte[] data)
  19. {
  20. MemoryStream ms = new MemoryStream();
  21. GZipStream zipStream = new GZipStream(ms, CompressionMode.Compress);
  22. zipStream.Write(data, 0, data.Length);//将数据压缩并写到基础流中
  23. zipStream.Close();
  24. return ms.ToArray();
  25. }
  5.结果图

 

.net WebService 大数据量时性能的提高的更多相关文章

  1. MySQL大数据量分页性能优化

    mysql大数据量使用limit分页,随着页码的增大,查询效率越低下. 测试实验 1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from p ...

  2. 大数据量时Mysql的优化

    (转自网络) 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求.这个时候NoSQL的出现暂时 ...

  3. sql server 2005 大数据量插入性能对比

    sql server 2005大数据量的插入操作 第一,写个存储过程,传入参数,存储过程里面是insert操作, 第二,用System.Data.SqlClient.SqlBulkCopy实例方法, ...

  4. 关于webservice大数据量传输时的压缩和解压缩

    当访问WebSerivice时,如果数据量很大,传输数据时就会很慢.为了提高速度,我们就会想到对数据进行压缩.首先我们来分析一下. 当在webserice中传输数据时,一般都采用Dataset进行数据 ...

  5. 大数据量时 Mysql LIMIT如何正确对其进行优化(转载)

    以下的文章主要是对Mysql LIMIT简单介绍,我们大家都知道LIMIT子句一般是用来限制SELECT语句返回的实际行数.LIMIT取1个或是2个数字参数,如果给定的是2个参数,第一个指定要返回的第 ...

  6. 【原创】大数据量时生成DataFrame避免使用效率低的append方法

      转载请注明出处:https://www.cnblogs.com/oceanicstar/p/10900332.html      ★append方法可以很方便地拼接两个DataFrame df1. ...

  7. Android, BaseAdapter 处理大数据量时的优化

    Android优化 最常见的就是ListView, Gallery, GridView, ViewPager 的大数据优化  图片优化  访问网络的优化优化的原则: 数据延迟加载  分批加载  本地缓 ...

  8. 【MYSQL】mysql大数据量分页性能优化

    转载地址: http://www.cnblogs.com/lpfuture/p/5772055.html https://www.cnblogs.com/shiwenhu/p/5757250.html ...

  9. mysql select limit 大数据量查询 性能终极提升方法

    还是广告位 我们的使用mysql的时候总是想当然的使用 select × from tables where a>0 order by id desc limit 500000,200 当我们真 ...

随机推荐

  1. jquery获取父元素或父节点的方法

    jquery获取父元素方法比较多,比如parent(),parents(),closest()这些都能帮你实现查找父元素或节点,下面我们来一一讲解: 先举个例子: <ul class=" ...

  2. Idea(二) 解决IDEA卡顿问题及相关基本配置

    一.IDEA太卡顿,设置使用IDEA的内存 在IDEA的安装目录下的bin目录下: 打开设置: 将idea.exe.vmoptions文件内由-server-Xms128m-Xmx512m-XX:Ma ...

  3. 一千个不用Null的理由

    原文链接:http://www.importnew.com/27378.html 原文出处: xrzs 港真,Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointer ...

  4. SpringBoot项目部署进阶

    一.war包部署 通过“云开发”平台初始化的SpringBoot项目默认采用jar形式打包,这也是我们推荐的方式.但是,因为某些原因,软件需求方特别要求用war形式打包,我们该怎么做? 1.项目尚未开 ...

  5. excel 技能收集

    排序: 对某D列第4行开始的数据排序,对D4之后的700个数据全部排序 =RANK(D4,$D$4:$D$700)

  6. 【模考】2018.04.08 Travel

    Description 有N个人出去旅行,第i个人去A国有Ai种游玩方式,去B国有Bi种游玩方式,问至少有C个人去A国的情况下,所有人的游玩方式有多少种不同的可能. 两种所有人的游玩方式不同当且仅当存 ...

  7. Storm入门到精通(四)---本地实例Demo

    单词实时计数 maven项目的结构: 一.Pom.xml [html] view plain copy <project xmlns="http://maven.apache.org/ ...

  8. 学习Spring Boot:(五)使用 devtools热部署

    前言 spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原理是在发现代码有更改之后,重新启动应用,但是比速度比手动停止后 ...

  9. BZOJ2213 [Poi2011]Difference 【乱搞】

    题目链接 BZOJ2213 题解 考虑任意一对点的贡献,单独拿出那些点所在位置 一个设为\(1\),一个设为\(-1\),从头到尾扫一遍维护前缀和,以及当前最小前缀和 两者相减更新答案 需要注意的是当 ...

  10. 使用msiexec.exe绕过应用程序白名单(多种方法)

    0x00 前言 在我们之前的文章中,我们讨论了“Windows Applocker策略 - 初学者指南”,因为它们为应用程序控制策略定义了AppLocker规则,以及如何使用它们.但今天您将学习如何绕 ...