SqlConnectionStringBuilder.AsynchronousProcessing プロパティ
アセンブリ: System.Data (system.data.dll 内)

Dim instance As SqlConnectionStringBuilder Dim value As Boolean value = instance.AsynchronousProcessing instance.AsynchronousProcessing = value
/** @property */ public boolean get_AsynchronousProcessing () /** @property */ public void set_AsynchronousProcessing (boolean value)
public function get AsynchronousProcessing () : boolean public function set AsynchronousProcessing (value : boolean)
AsynchronousProcessing プロパティの値。何も指定されていない場合は false。

このプロパティは、接続文字列内の "Asynchronous Processing" キーおよび "async" キーに対応します。SqlCommand オブジェクトが提供する非同期処理を利用するには、関連付けられた SqlConnection オブジェクトの接続文字列にこのキー/値ペアが含まれている必要があります。

次の例では、接続文字列を取得して、その接続文字列に対して非同期処理に必要な設定がされているかどうかを確認しています。ここでは、アプリケーション内のプロシージャから文字列を取得していますが、実際のアプリケーションでは、接続文字列は構成ファイルなどから取得するのが一般的です。その後、サンプル データベース内の値をバックグラウンド スレッドで更新する非同期操作を実行します。
Imports System.Data.SqlClient Imports System.Threading Module Module1 Sub Main() ' Create a SqlConnectionStringBuilder instance, ' and ensure that it is set up for asynchronous processing. Dim builder As _ New SqlConnectionStringBuilder(GetConnectionString()) ' Asynchronous method calls won't work unless you ' have added this option, or have added ' the clause "Asynchronous Processing=True" ' to the connection string. builder.AsynchronousProcessing = True Dim commandText As String = _ "UPDATE Production.Product SET ReorderPoint = ReorderPoint + 1 " & _ "WHERE ReorderPoint Is Not Null;" & _ "WAITFOR DELAY '0:0:3';" & _ "UPDATE Production.Product SET ReorderPoint = ReorderPoint - 1 " & _ "WHERE ReorderPoint Is Not Null" RunCommandAsynchronously(commandText, builder.ConnectionString) Console.WriteLine("Press any key to finish.") Console.ReadLine() End Sub Private Function GetConnectionString() As String ' To avoid storing the connection string in your code, ' you can retrieve it from a configuration file. Return "Data Source=(local);Integrated Security=SSPI;" & _ "Initial Catalog=AdventureWorks" End Function Private Sub RunCommandAsynchronously( _ ByVal commandText As String, ByVal connectionString As String) ' Given command text and connection string, asynchronously execute ' the specified command against the connection. For this example , ' the code displays an indicator as it's working, verifying the ' asynchronous behavior. Using connection As New SqlConnection(connectionString) Try Dim count As Integer = 0 Dim command As New SqlCommand(commandText, connection) connection.Open() Dim result As IAsyncResult = command.BeginExecuteNonQuery() While Not result.IsCompleted Console.WriteLine("Waiting {0}.", count) ' Wait for 1/10 second, so the counter ' doesn't consume all available resources ' on the main thread. Threading.Thread.Sleep(100) count += 1 End While Console.WriteLine("Command complete. Affected {0} rows.", _ command.EndExecuteNonQuery(result)) Catch ex As SqlException Console.WriteLine( _ "Error {0}: System.Data.SqlClient.SqlConnectionStringBuilder", _ ex.Number, ex.Message) Catch ex As InvalidOperationException Console.WriteLine("Error: {0}", ex.Message) Catch ex As Exception ' You might want to pass these errors ' back out to the caller. Console.WriteLine("Error: {0}", ex.Message) End Try End Using End Sub End Module
using System.Data.SqlClient; using System.Threading; class Program { static void Main() { // Create a SqlConnectionStringBuilder instance, // and ensure that it is set up for asynchronous processing. SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(GetConnectionString()); // Asynchronous method calls won't work unless you // have added this option, or have added // the clause "Asynchronous Processing=true" // to the connection string. builder.AsynchronousProcessing = true; string commandText = "UPDATE Production.Product SET ReorderPoint = ReorderPoint + 1 " + "WHERE ReorderPoint IS NOT Null;" + "WAITFOR DELAY '0:0:3';" + "UPDATE Production.Product SET ReorderPoint = ReorderPoint - 1 " + "WHERE ReorderPoint IS NOT Null"; RunCommandAsynchronously(commandText, builder.ConnectionString); Console.WriteLine("Press any key to finish."); Console.ReadLine(); } private static string GetConnectionString() { // To avoid storing the connection string in your code, // you can retrieve it from a configuration file. return "Data Source=(local);Integrated Security=SSPI;" + "Initial Catalog=AdventureWorks"; } private static void RunCommandAsynchronously(string commandText, string connectionString) { // Given command text and connection string, asynchronously execute // the specified command against the connection. For this example , // the code displays an indicator as it's working, verifying the // asynchronous behavior. using (SqlConnection connection = new SqlConnection(connectionString)) { try { int count = 0; SqlCommand command = new SqlCommand(commandText, connection); connection.Open(); IAsyncResult result = command.BeginExecuteNonQuery(); while (!result.IsCompleted) { Console.WriteLine("Waiting {0}.", count); // Wait for 1/10 second, so the counter // doesn't consume all available resources // on the main thread. Thread.Sleep(100); count += 1; } Console.WriteLine("Command complete. Affected {0} rows." , command.EndExecuteNonQuery(result)); } catch (SqlException ex) { Console.WriteLine( "Error {0}: System.Data.SqlClient.SqlConnectionStringBuilder", ex.Number, ex.Message); } catch (InvalidOperationException ex) { Console.WriteLine("Error: {0}", ex.Message); } catch (Exception ex) { // You might want to pass these errors // back out to the caller. Console.WriteLine("Error: {0}", ex.Message); } } } }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- SqlConnectionStringBuilder.AsynchronousProcessing プロパティのページへのリンク