Asycn/Await 異步編程初窺(二)


經過總過4天的學習和實踐,做完了 WinForm 下 .Net 4.5 的基本異步應用,實現了一個 Http 協議下載的測試程序,為以后使用 .Net 4.5 積累知識和經驗。這個小程序完成這樣幾個作用:

 

1. 實現 Http 協議下的下載,包括網頁、文件

2. 使用 async/await 的方式,實現異步方式,UI 不停滯

3. 使用多線程方式更新下載進度成功,后改為不依靠線程,采用事件方式在 UI 窗體更新下載進度

4. 在未做全方面優化的前提下,運行速度蠻好

5. 通過下載進度信息,可以掌握有關下載中的部分過程

 

同樣也有未解決的問題需要向看到此文的各位網友請教,希望能得到高手解答:

1. 以事件作為“驅動”方式來更新 UI 的方式靠不靠譜,有什么弊端?

2. 增大或減小 buffer 似乎對下載速度沒有什么影響(提高),怎么做可以提高程序本身的下載速度?(假設網絡條件固定,單線程條件固定,實現下載軟件那種遞增式變化,framework自身有沒有什么可調節的方法參數)

3. 通過程序運行發現,絕大多數單次從 stream.ReadAsync 讀取到的網絡數據,長度基本固定,以 3472 居多(尤其是長時間的下載大一點文件)。這個數字代表什么意義?

4. 請對我的程序提出你的建議和意見,可以是任何方面的,尤其是結構方面,謝謝!

 

程序App及代碼 App下載 代碼下載

程序截圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM