次の方法で共有


非同期操作 (ADO.NET)

更新 : November 2007

コマンドの実行など、データベースでの一部の操作は、完了までに長時間かかることがあります。そのような場合、シングルスレッドのアプリケーションでは、他の操作をブロックして、コマンドが終了するまで待機しなければ操作を続行できません。これに対して、長時間にわたる操作をバックグラウンド スレッドに割り当てることができれば、フォアグラウンド スレッドがアクティブなまま操作を続行できます。たとえば、Windows アプリケーションでは、操作を実行中のユーザー インターフェイス スレッドの応答性を維持しながら、時間のかかる操作をバックグラウンド スレッドに委任することができます。

.NET Framework では、複数の標準的な非同期デザイン パターンが用意されており、バックグラウンド スレッドを利用して、その他の操作を完了するためにユーザー インターフェイスまたは優先順位の高いスレッドを解放できます。ADO.NET では、SqlCommand クラスでこれらと同じデザイン パターンがサポートされています。特に、BeginExecuteNonQueryBeginExecuteReader、および BeginExecuteXmlReader メソッドと、EndExecuteNonQueryEndExecuteReader、および EndExecuteXmlReader メソッドとのペアによって、非同期動作がサポートされています。

これらのメソッドは、Microsoft Windows XP および Windows 2000 でのみサポートされています。Windows 98 または Windows ME ではサポートされていません。

zw97wx20.alert_note(ja-jp,VS.90).gifメモ :

非同期プログラミングは .NET Framework の中心的な機能であり、ADO.NET では標準のデザイン パターンが活用されます。開発者が利用できるさまざまな非同期技法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。

ADO.NET 機能での非同期技法の使用に伴う特別な考慮事項はありませんが、非同期機能は、.NET Framework のその他の領域よりも ADO.NET で使用する場合が多いと思われます。マルチスレッドのアプリケーションは、その利点と問題点を認識した上で作成することが重要です。このセクションに示す例は、マルチスレッド機能を組み込むアプリケーションを構築する際に考慮すべき重要な問題を提示しています。

このセクションの内容

参照

概念

同期メソッドの非同期呼び出し

その他の技術情報

SQL Server と ADO.NET