共用方式為


非同步作業 (ADO.NET)

更新: November 2007

某些資料庫作業 (如命令執行) 要花費相當長的時間才能完成。在此情況下,單一執行緒應用程式必須封鎖其他作業並等待命令完成後,才能繼續它們自己的作業。相反的,將長期執行作業指派給背景執行緒,可讓前景執行緒在作業過程中保持作用中狀態。例如,若在 Windows 應用程式中將長期執行作業委派給背景執行緒,可讓使用者介面執行緒在作業執行時保持回應狀態。

.NET Framework 提供數個標準非同步設計模式,可供開發人員用於利用背景執行緒,讓使用者介面或高優先權執行緒可以完成其他作業。ADO.NET 在其 SqlCommand 類別中,支援這些相同的設計模式。尤其是,BeginExecuteNonQueryBeginExecuteReaderBeginExecuteXmlReader 方法,搭配 EndExecuteNonQueryEndExecuteReaderEndExecuteXmlReader 方法,都可以提供非同步支援。

這些方法僅在 Microsoft Windows XP 及 Windows 2000 中受支援,在 Windows 98 或 Windows ME 中將不受支援。

注意事項:

非同步程式設計是 .NET Framework 的核心功能,而 ADO.NET 可充分利用這些標準設計模式。如需開發人員可使用之各種非同步技術的詳細資訊,請參閱 以非同步的方式呼叫同步方法

儘管與 ADO.NET 功能搭配使用非同步技術並不會有任何額外的特殊考量,但大多數的開發人員都只會在 ADO.NET 中使用非同步功能,而不會在 .NET Framework 中的其他領域使用。瞭解建立多執行緒應用程式的優缺點是很重要的。本節中接下來的範例會指出在建置包括多執行緒功能的應用程式時,開發人員需要考量的數個重要問題。

在本節中

請參閱

概念

以非同步的方式呼叫同步方法

其他資源

SQL Server 和 ADO.NET