`

.net WebService 大数据量时性能的提高

    博客分类:
  • .net
 
阅读更多

.net WebService 大数据量时性能的提高

1.直接返回DataSet对象

 

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


 
  • 大小: 70.6 KB
分享到:
评论

相关推荐

    .net webservice大数量时性能的提供

    .net webservice大数量时性能的提供

    asp.net知识库

    2分法-通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高) 分页存储过程:排序反转分页法 优化后的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 ...

    ASP.NET 2.0开发技术大全

    包括认识ASP.NET 2.0、ASP.NET 2.0网页语法、字符串与日期处理、Page对象、...性能数据处理技术、ADO.NET数据库技术、数据绑定控件、ASP.NET数据缓存技术、站点导航和导航控件、Web用户控件、创建ASP.NET服务器控件、...

    ASP.NET 2.0开发技术大全光盘

    Web Part部件、母版页、主题、sQL语句在ASP.NET中的应用、高性能数据处理技术、ADO.NET数据库技术、数据绑定控件、ASP.NET数据缓存技术、站点导航和导航控件、Web用户控件、创建ASP.NET服务器控件、 WebService基础...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    ASP.NET 2.0新增了50多个新服务器控件,类的数量也翻了一倍,其他许多方面也有很大的变化。本书介绍了ASP.NET 2.0中的每个新增特性和功能,以便读者把这些新技术应用于实践。.. 本书主要内容 ● 服务器控件的...

    ASP.NET2.0高级编程(第4版)1/6

    本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...

    B2C数字卡在线销售系统

    1.这是一个网络在线购物系统,具有前台 选卡,购物车,购买,会员个人管理,账户汇款,购物记录浏览...4.系统通过WebService实现BANK数据结算功能。 5系统大量采用了AJAX来开发前台, ADO.NET来实现后台报表以节省性能。

    net学习笔记及其他代码应用

    30.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。 答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。 31.公司要求开发一个继承System....

    sitemapims-donet

    SiteMapIMS-DOTNET 的整体设计上采用微软DotNet的WebService 和XML 技术,数据存取利用ADO.NET支持Access、SQL-Server、Oracle等主流数据库。另外由于C#对Exception(异常)处理、内存管理优化等采用的多项先进技术,...

    CLR.via.C#.(中文第3版)(自制详细书签)Part2

    《CLR via C#(第3版) 》针对.NET Framework 4.0和多核编程进行了全面更新和修订,是帮助读者深入探索和掌握公共语言运行时、C#和.NET开发的重要参考,同时也是帮助开发人员构建任何一种应用程序(如Microsoft ...

    C#编程经验技巧宝典

    85 &lt;br&gt;0130 复制字符串中指定的字符 85 &lt;br&gt;0131 巧截字符串的数字 86 &lt;br&gt;0132 如何存储变长字符串 86 &lt;br&gt;0133 在进行字符串比较时忽略大小写 87 &lt;br&gt;0134 如何去除字符串尾空格 87 ...

    【。net 专业】 面试题

    12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。 远程逻辑调用,remoing接口只能用在.net中 13.什么是code-behind技术 aspx and cs 14.概述三层结构体系 web/business/dataaccess 15.asp...

Global site tag (gtag.js) - Google Analytics