Есть ли способ отменить выполнение запроса и закрыть базу данных на С#?C#

Место общения программистов C#
Anonymous
Есть ли способ отменить выполнение запроса и закрыть базу данных на С#?

Сообщение Anonymous »

Я создаю приложение asp.net, которое выполняет измерение запросов к базе данных. На моей веб-странице есть две кнопки «Пуск» и «Стоп». Функция кнопки «Пуск» подключается к базе данных PostgreSQL, затем выполняет 100 запросов и затем закрывает соединение:

Код: Выделить всё

Connect();
NpgsqlCommand cmd = new NpgsqlCommand();
cmd.Connection = Connection;
for (int i = 0; i < 100; i++)
{
cmd.CommandText = queries[i];
cmd.ExecuteReader().Close();
}
Close();
Эта функция обычно занимает 7 секунд.
Когда я нажимаю кнопку остановки во время выполнения функции, функцией которой является Connection.Close(), я получаю сообщение об ошибке выполняет запрос, поэтому соединение не может быть закрыто. Есть ли способ отменить выполнение запроса, а затем закрыть соединение, пока есть цикл выполнения?
Я пытался как-то отменить запрос по его pid, но не получилось (вероятно, плохая реализация) потому что запрос с этим pid уже выполнен)

Подробнее здесь: https://stackoverflow.com/questions/759 ... abase-in-c

Вернуться в «C#»