Работа с большим количеством строк

Добрый день. Подскажите пожалуйста. Необходимо подготовить данные для выгрузки из одной таблицы, и записать все это в другую таблицу. Сейчас это реализовано вот так: image
Но проблема в том, что блок finally выполняется до того как будут подготовлены все данные, и подготовка происходит в фоновом режиме.

А на бэке как этот сервис реализован?
Если он например просто ставит какую то задачу в очередь и потом асинхронно она выполняется, то ответ с сервера придет раньше чем будет выполнена задача, и это в целом логично.
В таком случае вы можете уведомить пользователя через модуль оповещений

Вот так реализовано image


А что за модуль оповещения?! Вот этот
image

Походу это баг. Добавил диалог в “обработка ошибки”. Через какое-то время прекращается подготовка и выходит два диалога и успешный и с ошибкой, но продолжает обрабатывать в фоновом режиме.

А имплементацию сервиса покажи пожалуйста

unloadentityall.cs (18.0 КБ)

У вас Task.Run который не ожидается. Соответственно в вашем случае при нажатии на кнопку в UI на сервере запускается таск и сразу происходит возврат ответа на клиент что все ок.
Думаю в вашем случае нужно воспользоваться другими механизмами, например фоновой очередью. В этом случае вы сможете информировать пользователя о том что задача поставлена в очередь, а после ее завершения чеез модуль нотификаций информировать юзера о завершении

А почему тогда срабатывает “Обработка ошибки”?