.NET中的异步编程(二)- 传统的异步编程

  在上一篇文章中,我们从构建响应灵敏的界面以及构建高可伸缩性的服务应用来讨论我们为什么需要异步编程,异步编程能给我们带来哪些好处。那么知道了好处,我们就开始吧,但是在异步编程这个方面,说总是比做简单。套用那句不是名言的名言:编写异步程序是困难的,编写可靠的异步程序尤其困难。因为异步程序非常难以编写,而且非常容易出错,很多基本的构造元素在异步编程中都无法使用,这让我们这些开发人员更愿意编写同步的代码,虽然我们知道有些地方真的应该使用异步。

  如何实现异步

  对于很多人来说,异步就是使用后台线程运行耗时的操作。在有些时候这是对的,而在我们日常大部分场景中却不对。

  比如现在我们有这么一个需求:使用HttpWebRequest请求某个指定URI的内容,然后输出在界面上的文本域中。同步代码很容易编写:

private void btnDownload_Click(object sender,EventArgs e)
{
var request
= HttpWebRequest.Create("http://www.sina.com.cn");
var response
= request.GetResponse();
var stream
= response.GetResponseStream();
using(StreamReader reader = new StreamReader(stream))
{
var content
= reader.ReadToEnd();
this.txtContent.Text = content;
}
}

NET技术.NET中的异步编程(二)- 传统的异步编程,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。