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

首頁 > 編程 > C# > 正文

C#實現異步GET的方法

2019-10-29 21:41:27
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了C#實現異步GET的方法,涉及C#異步請求的相關實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了C#實現異步GET的方法。分享給大家供大家參考。具體實現方法如下:

 

 
  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.Configuration; 
  4. using System.IO; 
  5. using System.Linq; 
  6. using System.Net; 
  7. using System.Text; 
  8. using System.Threading.Tasks; 
  9. namespace WebClientAsynProject 
  10. public class Program 
  11. #region HttpWebRequest異步GET 
  12. public static void AsyncGetWithWebRequest(string url) 
  13. var request = (HttpWebRequest) WebRequest.Create(new Uri(url)); 
  14. request.BeginGetResponse(new AsyncCallback(ReadCallback), request); 
  15. private static void ReadCallback(IAsyncResult asynchronousResult) 
  16. var request = (HttpWebRequest) asynchronousResult.AsyncState; 
  17. var response = (HttpWebResponse) request.EndGetResponse(asynchronousResult); 
  18. using (var streamReader = new StreamReader(response.GetResponseStream())) 
  19. var resultString = streamReader.ReadToEnd(); 
  20. Console.WriteLine(resultString); 
  21. #endregion 
  22. #region WebClient異步GET 
  23. public static void AsyncGetWithWebClient(string url) 
  24. var webClient = new WebClient(); 
  25. webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted); 
  26. webClient.DownloadStringAsync(new Uri(url)); 
  27. private static void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
  28. //Console.WriteLine(e.Cancelled); 
  29. Console.WriteLine(e.Error != null ? "WebClient異步GET發生錯誤!" : e.Result); 
  30. #endregion 
  31. #region WebClient的OpenReadAsync測試 
  32. public static void TestGetWebResponseAsync(string url) 
  33. var webClient = new WebClient(); 
  34. webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted); 
  35. webClient.OpenReadAsync(new Uri(url)); 
  36. private static void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e) 
  37. if(e.Error == null
  38. var streamReader = new StreamReader(e.Result); 
  39. var result = streamReader.ReadToEnd(); 
  40. Console.WriteLine(result); 
  41. else 
  42. Console.WriteLine("執行WebClient的OpenReadAsync出錯:" + e.Error); 
  43. #endregion 
  44. public static void Main(string[] args) 
  45. AsyncGetWithWebRequest("http://baidu.com"); 
  46. Console.WriteLine("hello"); 
  47. AsyncGetWithWebClient("http://baidu.com"); 
  48. Console.WriteLine("world"); 
  49. TestGetWebResponseAsync("http://baidu.com"); 
  50. Console.WriteLine("jxqlovejava"); 
  51. Console.Read(); 

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丘北县| 邹平县| 昭通市| 滦平县| 博爱县| 宾阳县| 南投县| 邹城市| 襄汾县| 泰宁县| 古蔺县| 峨眉山市| 永宁县| 辽中县| 博湖县| 田林县| 沾化县| 新营市| 濮阳县| 会东县| 曲沃县| 澎湖县| 双峰县| 麦盖提县| 衡东县| 自贡市| 时尚| 清原| 通渭县| 仙桃市| 平顶山市| 共和县| 休宁县| 通河县| 广德县| 阿城市| 陇西县| 霸州市| 奉化市| 衡山县| 洛扎县|