·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> .net WebService 大数据量时性能的提高

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

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

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

1.直接返回DataSet对象

C#代码 收藏代码
  1. [WebMethod(Description="直接返回DataSet对象")]
  2. publicDataSetGetUserListDateSet()
  3. {
  4. SqlConnectionsqlCon=newSqlConnection("DataSource=.,1444;InitialCatalog=StudyNet;PersistSecurityInfo=True;UserID=**;PassWord=******");
  5. SqlCommandcmd=newSqlCommand();
  6. cmd.Connection=sqlCon;
  7. cmd.CommandText="select*fromT_User";
  8. SqlDataAdapterda=newSqlDataAdapter(cmd);
  9. DataSetds=newDataSet();
  10. da.Fill(ds);
  11. returnds;
  12. }
2.返回DataSet对象用Binary序列化后的字节数组C#代码 收藏代码
  1. [WebMethod(Description="返回DataSet对象用Binary序列化后的字节数组")]
  2. publicbyte[]GetUserListDateSetBytes()
  3. {
  4. DataSetds=GetUserListDateSet();
  5. //序列化
  6. BinaryFormatterser=newBinaryFormatter();
  7. MemoryStreamstream=newMemoryStream();
  8. ser.Serialize(stream,ds);
  9. returnstream.GetBuffer();
  10. }
3.返回DataSetSurrogate对象用Binary序列化后的字节数组C#代码 收藏代码
  1. [WebMethod(Description="返回DataSetSurrogate对象用Binary序列化后的字节数组")]
  2. publicbyte[]GetUserListDateSetSurrogateBytes()
  3. {
  4. DataSetds=GetUserListDateSet();
  5. DataSetSurrogatedss=newDataSetSurrogate(ds);
  6. //序列化
  7. BinaryFormatterser=newBinaryFormatter();
  8. MemoryStreamstream=newMemoryStream();
  9. ser.Serialize(stream,dss);
  10. returnstream.GetBuffer();
  11. }
4.返回DataSetSurrogate对象用Binary序列化并Zip压缩后的字节数组C#代码 收藏代码
  1. [WebMethod(Description="返回DataSetSurrogate对象用Binary序列化并ZIP压缩后的字节数组")]
  2. publicbyte[]GetUserListDateSetSurrogateZipBytes()
  3. {
  4. DataSetds=GetUserListDateSet();
  5. DataSetSurrogatedss=newDataSetSurrogate(ds);
  6. //序列化
  7. BinaryFormatterser=newBinaryFormatter();
  8. MemoryStreamstream=newMemoryStream();
  9. ser.Serialize(stream,dss);
  10. //压缩
  11. returnComPRess(stream.ToArray());
  12. }
  13. ///<summary>
  14. ///压缩数据
  15. ///</summary>
  16. ///<paramname="data"></param>
  17. ///<returns></returns>
  18. publicbyte[]Compress(byte[]data)
  19. {
  20. MemoryStreamms=newMemoryStream();
  21. GZipStreamzipStream=newGZipStream(ms,CompressionMode.Compress);
  22. zipStream.Write(data,0,data.Length);//将数据压缩并写到基础流中
  23. zipStream.Close();
  24. returnms.ToArray();
  25. }
5.结果图
  • .net_webservice大数量时性能的提供.rar (119.2 KB)
  • 下载次数: 26
  • DataSetSurrogate.rar (8.7 KB)