.net WebService 大資料量時效能的提高

來源:互聯網
上載者:User

標籤:des   blog   http   io   os   ar   for   sp   資料   

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.結果圖

 
  • .net_webservice大數量時效能的提供.rar (119.2 KB)
  • 下載次數: 26
  • DataSetSurrogate.rar (8.7 KB)

.net WebService 大資料量時效能的提高

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.