国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

怎樣提高WebService的性能

2019-11-17 02:00:07
字體:
來源:轉載
供稿:網友

怎樣提高WebService的性能

服務器端WebService程序:

C#代碼收藏代碼
    1. usingSystem.Runtime.Serialization.Formatters.Binary;
    2. usingSystem.IO;
    3. usingSystem.IO.ComPRession;
    4. usingSystem.Data.SqlClient;
    5. &hellWord=h0y+FeC*;");
    6. conn.Open();
    7. SqlDataAdapterdataadapter=newSqlDataAdapter(sql,conn);
    8. DataSetds=newDataSet();
    9. dataadapter.Fill(ds,"XT_TEXT");
    10. conn.Close();
    11. returnds;
    12. }
    13. [WebMethod(Description="返回DataSet對象用Binary序列化后的字節數組。")]
    14. publicbyte[]GetDataSetBytes()
    15. {
    16. DataSetdataSet=GetNorthwindDataSet();
    17. BinaryFormatterser=newBinaryFormatter();
    18. MemoryStreamms=newMemoryStream();
    19. ser.Serialize(ms,dataSet);
    20. byte[]buffer=ms.ToArray();
    21. returnbuffer;
    22. }
    23. [WebMethod(Description="返回DataSetSurrogate對象用Binary序列化后的字節數組。")]
    24. publicbyte[]GetDataSetSurrogateBytes()
    25. {
    26. DataSetdataSet=GetNorthwindDataSet();
    27. DataSetSurrogatedss=newDataSetSurrogate(dataSet);
    28. BinaryFormatterser=newBinaryFormatter();
    29. MemoryStreamms=newMemoryStream();
    30. ser.Serialize(ms,dss);
    31. byte[]buffer=ms.ToArray();
    32. returnbuffer;
    33. }
    34. [WebMethod(Description="返回DataSetSurrogate對象用Binary序列化并Zip壓縮后的字節數組。")]
    35. publicbyte[]GetDataSetSurrogateZipBytes()
    36. {
    37. DataSetdataSet=GetNorthwindDataSet();
    38. DataSetSurrogatedss=newDataSetSurrogate(dataSet);
    39. BinaryFormatterser=newBinaryFormatter();
    40. MemoryStreamms=newMemoryStream();
    41. ser.Serialize(ms,dss);
    42. byte[]buffer=ms.ToArray();
    43. byte[]zipBuffer=Compress(buffer);
    44. returnzipBuffer;
    45. }
    46. publicbyte[]Compress(byte[]data)
    47. {
    48. try
    49. {
    50. MemoryStreamms=newMemoryStream();
    51. StreamzipStream=null;
    52. zipStream=newGZipStream(ms,CompressionMode.Compress,true);
    53. zipStream.Write(data,0,data.Length);
    54. zipStream.Close();
    55. ms.Position=0;
    56. byte[]compressed_data=newbyte[ms.Length];
    57. ms.Read(compressed_data,0,int.Parse(ms.Length.ToString()));
    58. returncompressed_data;
    59. }
    60. catch
    61. {
    62. returnnull;
    63. }
    64. }
    65. }
    66. 客戶端WebService程序
    67. [code="C#"]
    68. privatevoidbutton1_Click(objectsender,EventArgse)
    69. {
    70. com.dzbsoft.www.Service1ds=newcom.dzbsoft.www.Service1();
    71. DateTimedtBegin=DateTime.Now;
    72. DataSetdataSet=ds.GetNorthwindDataSet();
    73. this.label1.Text=string.Format("耗時:{0}",DateTime.Now-dtBegin);
    74. binddata(dataSet);
    75. }
    76. privatevoidbutton2_Click(objectsender,EventArgse)
    77. {
    78. com.dzbsoft.www.Service1ds=newcom.dzbsoft.www.Service1();
    79. DateTimedtBegin=DateTime.Now;
    80. byte[]buffer=ds.GetDataSetBytes();
    81. BinaryFormatterser=newBinaryFormatter();
    82. DataSetdataSet=ser.Deserialize(newMemoryStream(buffer))asDataSet;
    83. this.label2.Text=string.Format("耗時:{0}",DateTime.Now-dtBegin)+""+buffer.Length;
    84. binddata(dataSet);
    85. }
    86. privatevoidbutton3_Click(objectsender,EventArgse)
    87. {
    88. com.dzbsoft.www.Service1ds=newcom.dzbsoft.www.Service1();
    89. DateTimedtBegin=DateTime.Now;
    90. byte[]buffer=ds.GetDataSetSurrogateBytes();
    91. BinaryFormatterser=newBinaryFormatter();
    92. DataSetSurrogatedss=ser.Deserialize(newMemoryStream(buffer))asDataSetSurrogate;
    93. DataSetdataSet=dss.ConvertToDataSet();
    94. this.label3.Text=string.Format("耗時:{0}",DateTime.Now-dtBegin)+""+buffer.Length;
    95. binddata(dataSet);
    96. }
    97. privatevoidbutton4_Click(objectsender,EventArgse)
    98. {
    99. com.dzbsoft.www.Service1ds=newcom.dzbsoft.www.Service1();
    100. DateTimedtBegin=DateTime.Now;
    101. byte[]zipBuffer=ds.GetDataSetSurrogateZipBytes();
    102. byte[]buffer=UnZipClass.Decompress(zipBuffer);
    103. BinaryFormatterser=newBinaryFormatter();
    104. DataSetSurrogatedss=ser.Deserialize(newMemoryStream(buffer))asDataSetSurrogate;
    105. DataSetdataSet=dss.ConvertToDataSet();
    106. this.label4.Text=string.Format("耗時:{0}",DateTime.Now-dtBegin)+""+zipBuffer.Length;
    107. binddata(dataSet);
    108. }
    109. privatevoidbinddata(DataSetdataSet)
    110. {
    111. this.dataGridView1.DataSource=dataSet.Tables[0];
    112. this.label5.Text="共計:"+dataSet.Tables[0].Rows.Count+"條記錄";
    113. }
    114. 客戶端UnZipClass程序
    115. [code="C#"]
    116. publicstaticclassUnZipClass
    117. {
    118. publicstaticbyte[]Decompress(byte[]data)
    119. {
    120. try
    121. {
    122. MemoryStreamms=newMemoryStream(data);
    123. StreamzipStream=null;
    124. zipStream=newGZipStream(ms,CompressionMode.Decompress);
    125. byte[]dc_data=null;
    126. dc_data=ExtractBytesFromStream(zipStream,data.Length);
    127. returndc_data;
    128. }
    129. catch
    130. {
    131. returnnull;
    132. }
    133. }
    134. publicstaticbyte[]ExtractBytesFromStream(StreamzipStream,intdataBlock)
    135. {
    136. byte[]data=null;
    137. inttotalBytesRead=0;
    138. try
    139. {
    140. while(true)
    141. {
    142. Array.Resize(refdata,totalBytesRead+dataBlock+1);
    143. intbytesRead=zipStream.Read(data,totalBytesRead,dataBlock);
    144. if(bytesRead==0)
    145. {
    146. break;
    147. }
    148. totalBytesRead+=bytesRead;
    149. }
    150. Array.Resize(refdata,totalBytesRead);
    151. returndata;
    152. }
    153. catch
    154. {
    155. returnnull;
    156. }
    157. }
    158. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 拜泉县| 麻城市| 柞水县| 皋兰县| 土默特右旗| 河源市| 茂名市| 扶绥县| 青冈县| 丰顺县| 宣威市| 屏东市| 四平市| 连江县| 静乐县| 河源市| 诸暨市| 手游| 康定县| 无棣县| 海晏县| 上犹县| 太谷县| 纳雍县| 渑池县| 苏尼特右旗| 疏附县| 西贡区| 木兰县| 张家港市| 漳平市| 茌平县| 岳西县| 禄劝| 汝南县| 延长县| 合作市| 公主岭市| 铁力市| 莲花县| 黄山市|