private static void ProcessSql(SqlConnection connection, SqlTransaction transaction, string session, string category, string command, NameValueCollection parameters, DataSet response) { using (SqlCommand cmd = new SqlCommand(category + ".." + command, connection)) { cmd.Transaction = transaction; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@SessionID", SqlDbType.VarChar).Value = session; foreach (var parameter in parameters) { var name = parameter.Name; var value = parameter.Value; name = Misc.SafeSqlName(name); if (parameter.IsNull) { value = null; } cmd.Parameters.Add("@" + name, SqlDbType.NVarChar).Value = value; } using (SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd)) { var result = new DataSet(); dataAdapter.Fill(result); AppendDataSet(response, result); } } }
private static async Task ProcessSqlAsync(SqlConnection connection, SqlTransaction transaction, string session, string category, string command, NameValueCollection parameters, DataSet response) { using (SqlCommand cmd = new SqlCommand(category + ".." + command, connection)) { cmd.Transaction = transaction; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 120; cmd.Parameters.Add("@SessionID", SqlDbType.VarChar).Value = session; foreach (var parameter in parameters) { var name = parameter.Name; var value = parameter.Value; name = Misc.SafeSqlName(name); if (parameter.IsNull) { value = null; } cmd.Parameters.Add("@" + name, SqlDbType.NVarChar).Value = value; } //using (var reader = await cmd.ExecuteReaderAsync()) //{ // SqlDataAdapter dataAdapter = new SqlDataAdapter(); // dataAdapter.Fill(reader); // using (SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd)) // { // var result = new DataSet(); // AppendDataSet(response, result); // } //} //using (var dataAdapter = await cmd.ExecuteReaderAsync()) //{ // var result = new DataSet(); // dataAdapter.Fill(result); // AppendDataSet(response, result); //} //using (SqlDataAdapter dataAdapter = await cmd.ExecuteReaderAsync()) //{ // var result = new DataSet(); // dataAdapter.Fill(result); // AppendDataSet(response, result); //} using (SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd)) { var result = new DataSet(); dataAdapter.Fill(result); AppendDataSet(response, result); //await Task.Run(() => dataAdapter.Fill(result)); //await Task.Run(() => AppendDataSet(response, result)); //dataAdapter.Fill(result); //AppendDataSet(response, result); } } }