本文实例讲述了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#实现异步编程的方法,包括了C#实现异步编程的方法的使用技巧和注意事项,需要的朋友参考一下 最近在我参与的几个.Net项目中都有用到异步编程,作为一名.Net小白,很有必要好好地学习一下C#异步编程。 什么是异步 异步指的就是不用阻塞当前线程来等待任务的完成,而是将任务扔到线程池中去执行,当前线程可以继续向下执行,直至其它线程将任务完成,并回调通知当前线程。整个任务从开始到结束都是
本文向大家介绍C#实现异步发送邮件的方法,包括了C#实现异步发送邮件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现异步发送邮件的方法。分享给大家供大家参考。具体如下: 下面的代码可以实现异步发送邮件,等邮件发送出去后会自动调用回调函数,这样在发送邮件时就不会卡住程序不动了 希望本文所述对大家的C#程序设计有所帮助。
本文向大家介绍C#异步绑定数据实现方法,包括了C#异步绑定数据实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#异步绑定数据实现方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。
本文向大家介绍不同js异步函数同步的实现方法,包括了不同js异步函数同步的实现方法的使用技巧和注意事项,需要的朋友参考一下 不同函数达到同步的函数模拟 funcList是函数执行函数的队列,其中回调函数中flag=true是同步标记量 以上这篇不同js异步函数同步的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍Python通过select实现异步IO的方法,包括了Python通过select实现异步IO的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python通过select实现异步IO的方法。分享给大家供大家参考。具体如下: 在Python中使用select与poll比起在C中使用简单得多。select函数的参数是3个列表,包含整数文件描述符,或者带有可返回文件描述符的f
本文向大家介绍Python通过poll实现异步IO的方法,包括了Python通过poll实现异步IO的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python通过poll实现异步IO的方法。分享给大家供大家参考。具体分析如下: 在使用poll()后返回轮询对象,该对象支持以下方法: pollObj.register(fd,[,eventmask])第一个参数是注册新的文件描述符fd