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. Scrum 项目7.0——第一个Sprint的演示和回顾

    MY—HR 成员: 角色分配 学号 博客园 团队贡献分 丘惠敏 PM项目经理 201406114203 http://www.cnblogs.com/qiuhuimin/ 21 郭明茵 用户 2014 ...

  2. 蜗牛慢慢爬 LeetCode 19. Remove Nth Node From End of List [Difficulty: Medium]

    题目 Given a linked list, remove the nth node from the end of list and return its head. For example, G ...

  3. localStorage存储数组,对象,localStorage,sessionStorage存储数组对象

    localStorage存储数组,对象,localStorage,sessionStorage存储数组对象   前言 最近在用angular做商城购物车的功能模块,因为angular的watch监听, ...

  4. area point sql

    UPDATE aa_info_area t,(SELECT areaId, areacenter,CONCAT('POINT(' ,substring_index(areacenter,',', 1) ...

  5. 用go实现的一个堆得数据结构

    用golang实现的堆,主要提供了两个方法,push和pop及堆的大小,代码如下: package main import ( "errors" "fmt" ) ...

  6. [转贴]infoQ VSTS被拆成5个部分,以Azure DevOps服务形式推出

    VSTS被拆成5个部分,以Azure DevOps服务形式推出 http://www.infoq.com/cn/news/2018/09/vsts-divide5parts-azuredevops?u ...

  7. Yarn源码分析1(Hadoop2.7.2)

    在Hadoop中,调度框架YARN(Yet Another Resource Negotiater)是基于事件的,调度的是MapReduce的Application.Application有一系列的状 ...

  8. 【bzoj5166】[HAOI2014]遥感监测 贪心

    题目描述 给出平面上 $n$ 个圆,在x轴上选出尽可能少的点,使得每个圆中至少有一个点.求这个最小点数. 输入 第1行: N R 分别表示激光点的个数和射电望远镜能检测到的半径 第2~N+1行: Xi ...

  9. 【Java】提取JSON数值时遇到数组集合时使用的K-V方式转换

    1.实体类转换方法 参照文章:http://www.cnblogs.com/dflmg/p/6933811.html 2.K-V方法(此方法比较笨,但是没有办法,我现在不知道有没有相关的简单API,只 ...

  10. 【比赛】NOIP2017 逛公园

    考试的时候灵光一闪,瞬间推出DP方程,但是不知道怎么判-1,然后?然后就炸了. 后来发现,我只要把拓扑和DP分开,中间加一个判断,就AC了,可惜. 看这道题,我们首先来想有哪些情况是-1:只要有零环在 ...