В ADO.NET има много асинхронни функции, напр. SqlCommand.BeginExecuteNonQuery
.
Можете да извикате тези функции във вашето приложение, да съхраните резултатния обект и да го отмените, когато потребителят щракне върху бутона „Отказ“.
Така че в псевдокод можете да направите следните стъпки:
- Потребителят щраква върху Търсене бутон.
- В манипулатора на бутона отворете вашата DB връзка и други подобни.
- Покажете своя Отказ бутон.
- Извикайте асинхронната функция на ADO.NET по ваш избор.
- Съхранявайте
IAsyncResult
върнат обект на извикването на функция (за откриване кога операцията е приключила, за да се скрие отново бутона за отмяна). - В манипулатора на бутона за отказ извикайте
Cancel
метод наSqlCommand
.