.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大数量时性能的提供
2分法-通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高) 分页存储过程:排序反转分页法 优化后的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 ...
包括认识ASP.NET 2.0、ASP.NET 2.0网页语法、字符串与日期处理、Page对象、...性能数据处理技术、ADO.NET数据库技术、数据绑定控件、ASP.NET数据缓存技术、站点导航和导航控件、Web用户控件、创建ASP.NET服务器控件、...
Web Part部件、母版页、主题、sQL语句在ASP.NET中的应用、高性能数据处理技术、ADO.NET数据库技术、数据绑定控件、ASP.NET数据缓存技术、站点导航和导航控件、Web用户控件、创建ASP.NET服务器控件、 WebService基础...
ASP.NET 2.0新增了50多个新服务器控件,类的数量也翻了一倍,其他许多方面也有很大的变化。本书介绍了ASP.NET 2.0中的每个新增特性和功能,以便读者把这些新技术应用于实践。.. 本书主要内容 ● 服务器控件的...
本书全面介绍了ASP.NET各种编程技能和2.0版中的巨大变化,并详细阐述了2.0版中的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP...
1.这是一个网络在线购物系统,具有前台 选卡,购物车,购买,会员个人管理,账户汇款,购物记录浏览...4.系统通过WebService实现BANK数据结算功能。 5系统大量采用了AJAX来开发前台, ADO.NET来实现后台报表以节省性能。
30.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。 答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。 31.公司要求开发一个继承System....
SiteMapIMS-DOTNET 的整体设计上采用微软DotNet的WebService 和XML 技术,数据存取利用ADO.NET支持Access、SQL-Server、Oracle等主流数据库。另外由于C#对Exception(异常)处理、内存管理优化等采用的多项先进技术,...
《CLR via C#(第3版) 》针对.NET Framework 4.0和多核编程进行了全面更新和修订,是帮助读者深入探索和掌握公共语言运行时、C#和.NET开发的重要参考,同时也是帮助开发人员构建任何一种应用程序(如Microsoft ...
85 <br>0130 复制字符串中指定的字符 85 <br>0131 巧截字符串的数字 86 <br>0132 如何存储变长字符串 86 <br>0133 在进行字符串比较时忽略大小写 87 <br>0134 如何去除字符串尾空格 87 ...
12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。 远程逻辑调用,remoing接口只能用在.net中 13.什么是code-behind技术 aspx and cs 14.概述三层结构体系 web/business/dataaccess 15.asp...