这是我的异步方法,通过Task.Run()
被称为1000000次,并在以后检查每个任务状态:
private static async Task ExecuteOracleCommandAsync(DataTable schemaTable, OracleConnection oraConn, string insertString, object[][] obj, OracleParameter[] param)
{
using (OracleCommand cmd = oraConn.CreateCommand())
{
cmd.CommandText = string.Concat(insertString, ")");
cmd.ArrayBindCount = obj[0].Length;
for (int i = 0; i < schemaTable.Rows.Count; i++)
{
cmd.Parameters.Add(param[i]);
}
await cmd.ExecuteNonQueryAsync();
}
}
我得到了错误:
C#TPL问题:在使用循环中使用OracleCommand时无法访问已处置的对象