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. sql中exists和not exists的用法

    该文转载自:http://www.cnblogs.com/mytechblog/articles/2105785.html sql中exists,not exists的用法 exists : 强调的是 ...

  2. 关于localStorage 应用总结

    window.localStorage 设置数据几种方式 1.localStorage.setItem('name',c); 2.localStorage.name=c; 3.localStorage ...

  3. 用虚拟机安装了一台Linux系统,突然想克隆一台服务器,克隆后发现无法上网,如何解决?

    用虚拟机安装了一台Linux系统,突然想克隆一台服务器,克隆后发现无法上网,如何解决? 答:    a.编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth ...

  4. pxe前期网络准备

    核心交换机:[H3C12510-HEXIN]vlan 3010 //如果存在则不需要创建[H3C12510-HEXIN]dis interface Bridge-Aggregation brief / ...

  5. lr几个常用的函数

    将字符串保存为参数 lr_save_string("string you want to save", "arg_name"); 将int型数字保存为参数 lr ...

  6. call()方法和apply()方法

    最近又遇到了JacvaScript中的call()方法和apply()方法,而在某些时候这两个方法还确实是十分重要的,那么就让我总结这两个方法的使用和区别吧. 1. 每个函数都包含两个非继承而来的方法 ...

  7. 函数调用时形参的传递也会被认为是赋值操作(继承自Object后会出现的问题)

    http://blog.csdn.net/houqd2012/article/details/25070987

  8. IE下Userdata本地化存储

    这两天看了下Discuz x2发帖的实时保存机制,涉及到本地化存储,所以上网查了下,Firefox等支持HTML5的浏览器使用window.localStorage或window.sessionSto ...

  9. 让你的wordpress在新窗口打开链接

    在使用wordpress过程中笔者发现还有一些不太完善的地方,没有充分考虑到用户体验.所以,在使用wordpress建博之初,我们有必要对wordpress进行一次小改造,让wordpress更个性. ...

  10. [CF1110E]Magic Stones

    题目大意:有一个长度为$n(n\leqslant10^5)$的数列$c$,问是否可以经过若干次变换变成数列$t$,一次变换为$c'_i=c_{i+1}+c_{i-1}-c_i$ 题解:思考一次变换的本 ...