zoukankan      html  css  js  c++  java
  • .net WebService 大数据量时性能的提高

    1.直接返回DataSet对象

    C#代码  收藏代码
    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序列化后的字节数组
    C#代码  收藏代码
    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序列化后的字节数组
    C#代码  收藏代码
    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压缩后的字节数组
    C#代码  收藏代码
    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.结果图


     
  • 相关阅读:
    java锁类型
    Java线程池
    1 Navicat12 过期了怎么办
    N1-二维数组查找
    SQL-59 按照salary的累计和running_total,其中running_total为前两个员工的salary累计和,其他以此类推。
    SQL-58 获取有奖金的员工相关信息。
    SQL-57 使用含有关键字exists查找未分配具体部门的员工的所有信息。
    SQL-56 获取所有员工的emp_no、部门编号dept_no以及对应的bonus类型btype和recevied,没有分配具体的员工不显示
    SQL-55 分页查询employees表,每5行一页,返回第2页的数据
    SQL-54 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。
  • 原文地址:https://www.cnblogs.com/ranran/p/4024303.html
Copyright © 2011-2022 走看看