手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#实现异步GET的方法
C#实现异步GET的方法
摘要:本文实例讲述了C#实现异步GET的方法。分享给大家供大家参考。具体实现方法如下:usingSystem;usingSystem.Collec...

本文实例讲述了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#程序设计有所帮助。

【C#实现异步GET的方法】相关文章:

C# byte数组与Image相互转换的方法

C# TrieTree介绍及实现方法

C# 禁用鼠标中间键的方法

c#实现无标题栏窗口的拖动

C# 抓取网页内容的方法

C#访问应用程序配置文件的方法

C#实现对AES加密和解密的方法

C# 实现简单打印的实例代码

C#读写文件的方法汇总

使用C#开发Socket通讯的方法

精品推荐
分类导航