C#实现异步GET的方法
本文实例讲述了C#实现异步GET的方法。分享给大家供大家参考。具体实现方法如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Configuration;
usingSystem.IO;
usingSystem.Linq;
usingSystem.Net;
usingSystem.Text;
usingSystem.Threading.Tasks;
namespaceWebClientAsynProject
{
publicclassProgram
{
#regionHttpWebRequest异步GET
publicstaticvoidAsyncGetWithWebRequest(stringurl)
{
varrequest=(HttpWebRequest)WebRequest.Create(newUri(url));
request.BeginGetResponse(newAsyncCallback(ReadCallback),request);
}
privatestaticvoidReadCallback(IAsyncResultasynchronousResult)
{
varrequest=(HttpWebRequest)asynchronousResult.AsyncState;
varresponse=(HttpWebResponse)request.EndGetResponse(asynchronousResult);
using(varstreamReader=newStreamReader(response.GetResponseStream()))
{
varresultString=streamReader.ReadToEnd();
Console.WriteLine(resultString);
}
}
#endregion
#regionWebClient异步GET
publicstaticvoidAsyncGetWithWebClient(stringurl)
{
varwebClient=newWebClient();
webClient.DownloadStringCompleted+=newDownloadStringCompletedEventHandler(client_DownloadStringCompleted);
webClient.DownloadStringAsync(newUri(url));
}
privatestaticvoidclient_DownloadStringCompleted(objectsender,DownloadStringCompletedEventArgse)
{
//Console.WriteLine(e.Cancelled);
Console.WriteLine(e.Error!=null?"WebClient异步GET发生错误!":e.Result);
}
#endregion
#regionWebClient的OpenReadAsync测试
publicstaticvoidTestGetWebResponseAsync(stringurl)
{
varwebClient=newWebClient();
webClient.OpenReadCompleted+=newOpenReadCompletedEventHandler(webClient_OpenReadCompleted);
webClient.OpenReadAsync(newUri(url));
}
privatestaticvoidwebClient_OpenReadCompleted(objectsender,OpenReadCompletedEventArgse)
{
if(e.Error==null)
{
varstreamReader=newStreamReader(e.Result);
varresult=streamReader.ReadToEnd();
Console.WriteLine(result);
}
else
{
Console.WriteLine("执行WebClient的OpenReadAsync出错:"+e.Error);
}
}
#endregion
publicstaticvoidMain(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#程序设计有所帮助。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短