|
在上一篇文章中,我們從構建響應靈敏的界面以及構建高可伸縮性的服務應用來討論我們為什么需要異步編程,異步編程能給我們帶來哪些好處。那么知道了好處,我們就開始吧,但是在異步編程這個方面,說總是比做簡單。套用那句不是名言的名言:編寫異步程序是困難的,編寫可靠的異步程序尤其困難。因為異步程序非常難以編寫,而且非常容易出錯,很多基本的構造元素在異步編程中都無法使用,這讓我們這些開發人員更愿意編寫同步的代碼,雖然我們知道有些地方真的應該使用異步。
如何實現異步
對于很多人來說,異步就是使用后臺線程運行耗時的操作。在有些時候這是對的,而在我們日常大部分場景中卻不對。
比如現在我們有這么一個需求:使用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中的異步編程(二)- 傳統的異步編程,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。