非同步程式設計模式

更新:2007 年 11 月

非同步作業通常是用來執行可能需要很長時間才會完成的工作,例如,開啟大型檔案、連接到遠端電腦或查詢資料庫。非同步作業執行所在的執行緒與主應用程式的執行緒不同;當應用程式呼叫方法來以非同步方式執行作業時,非同步方法在執行其工作的同時,此應用程式仍可繼續執行。

.NET Framework 針對非同步作業提供了兩個設計模式:

  • 使用 IAsyncResult 物件的非同步作業。

  • 使用事件的非同步作業。

IAsyncResult 設計模式允許有各種程式設計模型,但是學習起來比較複雜,且提供了大多數應用程式不需要的彈性。類別庫設計人員應該盡可能地使用事件驅動的模型來實作非同步方法;在某些情況下,程式庫設計人員也應該實作 IAsyncResult 架構模型。

如需使用事件的非同步作業之相關文件,請參閱事件架構非同步模式概觀

非同步程式設計是受 .NET Framework 多方面支援的功能,包括:

  • 檔案 IO、資料流 IO、通訊端 IO。

  • 網路。

  • 遠端通道 (HTTP、TCP) 和 Proxy。

  • 使用 ASP.NET 建立的 XML Web Service。

  • ASP.NET Web Form。

  • 使用 MessageQueue 類別的訊息佇列。

在本節中

請參閱

概念

非同步檔案 I/O

參考

AsyncCallback

IAsyncResult

Delegate

AsyncOperationManager

BackgroundWorker