-1
我有一个sql存储proc将启动批量插入,我不需要我的web服务被挂断,等待响应。我的问题是:我将如何在这种情况下实现BeginExecuteNonQuery?用BeginExecuteNonQuery编写异步web服务?
我有一个sql存储proc将启动批量插入,我不需要我的web服务被挂断,等待响应。我的问题是:我将如何在这种情况下实现BeginExecuteNonQuery?用BeginExecuteNonQuery编写异步web服务?
我认为这可能让你开始:
private void ExecuteCommandAsync(string sql)
{
SqlConnection conn = new SqlConnection(connectString + "Async=true;");
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
conn.Open();
cmd.BeginExecuteNonQuery(new AsyncCallback(AsyncCommandCompletionCallback), cmd);
}
private void AsyncCommandCompletionCallback(IAsyncResult result)
{
SqlCommand cmd = null;
try
{
cmd = (SqlCommand)result.AsyncState;
cmd.EndExecuteNonQuery(result);
// Do some more work here...
}
catch (Exception ex)
{
// Handle errors here
}
finally
{
cmd.Connection.Close();
cmd.Dispose();
}
}