Я бы рекомендовал делегировать работу в BackgroundWorker и показывать индикатор выполнения. Поскольку вы не можете назначать шаги, вы можете просто использовать панель, чтобы отразить количество времени, которое ДОЛЖНО занять.
Если вы хотите сделать индикатор выполнения более точным, чем просто произвольно решить, что на основе тестов на вашей машине разработки потребуется 10 минут, вы можете записать, сколько времени занимает транзакция, и использовать количество времени, которое потребовалось последней транзакции решить, сколько времени должен занять ваш индикатор выполнения.
Вы также можете делегировать BackgroundWorker и показывать сообщение со счетчиком или чем-то на переднем плане - «Запрос в процессе. Время истекло: 2 минуты. Предполагаемое время для завершения: 10 минут». И затем также есть кнопка отмены. Нечто подобное.
Просто разные возможности. Ничего особенного, но отсутствие внутреннего доступа к процессу ограничивает ваши возможности.
о, похоже, вы уже получили ответ. Ах хорошо!