У меня есть сетка с несколькими запросами SQL, которую я хочу, чтобы пользователи разрешали выполнять, когда они дважды щелкают по строке в сетке.Я хочу, чтобы пользователь мог запускать несколько запросов одновременно.
У меня есть небольшая Форма с индикатором выполнения и таймером для каждого запроса.Форма отображается при выполнении запроса и отображается завершенным после его завершения.
Ниже мой код, кажется, что метод, возвращающий данные, блокирует.Я не работал с sync / threads / tasks раньше
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
CancellationTokenSource cts = new CancellationTokenSource();
CancellationTokenHook hook = new CancellationTokenHook(cts);
CancellationToken token = cts.Token;
//this.waitFormActivator.ShowWaitForm(true, true);
//this.waitFormActivator.SetWaitFormObject(hook);
Exception exception = null;
try
{
progressControl.Start();
Task<Dataset> t = Test(command.CommandText, token, saveFileDialog1.FileName);
var result = await t;
progressControl.Stop();
}
catch (Exception ex)
{
//success = false;
exception = ex;
//return null;
}
}
Я бы хотел, чтобы запросы выполнялись независимо друг от друга, однако в настоящее время следующий запрос ожидает завершения предыдущего.