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

首頁 > 編程 > C# > 正文

C#實現異步GET的方法

2020-01-24 01:38:15
字體:
來源:轉載
供稿:網友

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

using System;using System.Collections.Generic;using System.Configuration;using System.IO;using System.Linq;using System.Net;using System.Text;using System.Threading.Tasks;namespace WebClientAsynProject{  public class Program  {    #region HttpWebRequest異步GET    public static void AsyncGetWithWebRequest(string url)    {      var request = (HttpWebRequest) WebRequest.Create(new Uri(url));      request.BeginGetResponse(new AsyncCallback(ReadCallback), request);    }    private static void ReadCallback(IAsyncResult asynchronousResult)    {      var request = (HttpWebRequest) asynchronousResult.AsyncState;      var response = (HttpWebResponse) request.EndGetResponse(asynchronousResult);      using (var streamReader = new StreamReader(response.GetResponseStream()))      {        var resultString = streamReader.ReadToEnd();        Console.WriteLine(resultString);      }    }    #endregion    #region WebClient異步GET    public static void AsyncGetWithWebClient(string url)    {      var webClient = new WebClient();      webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);      webClient.DownloadStringAsync(new Uri(url));    }    private static void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)    {      //Console.WriteLine(e.Cancelled);      Console.WriteLine(e.Error != null ? "WebClient異步GET發生錯誤!" : e.Result);    }    #endregion    #region WebClient的OpenReadAsync測試    public static void TestGetWebResponseAsync(string url)    {      var webClient = new WebClient();      webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);      webClient.OpenReadAsync(new Uri(url));    }    private static void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)    {      if(e.Error == null)      {        var streamReader = new StreamReader(e.Result);        var result = streamReader.ReadToEnd();        Console.WriteLine(result);      }      else      {        Console.WriteLine("執行WebClient的OpenReadAsync出錯:" + e.Error);      }    }    #endregion    public static void Main(string[] args)    {      AsyncGetWithWebRequest("http://baidu.com");      Console.WriteLine("hello");      AsyncGetWithWebClient("http://baidu.com");      Console.WriteLine("world");      TestGetWebResponseAsync("http://baidu.com");      Console.WriteLine("jxqlovejava");      Console.Read();    }  }}

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荔波县| 高唐县| 志丹县| 榆社县| 隆回县| 张家界市| 金川县| 彝良县| 福州市| 龙胜| 遵义市| 盖州市| 黎平县| 阿拉善左旗| 界首市| 墨竹工卡县| 横峰县| 绥江县| 崇左市| 梅州市| 湟源县| 天柱县| 龙里县| 沾化县| 海宁市| 改则县| 都江堰市| 东阳市| 沾化县| 辉县市| 辽阳县| 麻城市| 德昌县| 文山县| 明水县| 白沙| 丰都县| 太仆寺旗| 酒泉市| 广汉市| 沧州市|