次の方法で共有


非同期操作 (ADO.NET)

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

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

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

メモメモ

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

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

このセクションの内容

参照

概念

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

その他の技術情報

SQL Server と ADO.NET