Вам необходимо опросить веб-службу через определенные промежутки времени и просто вернуть то, что кажется подходящим для вашего приложения (например, сообщения, которые вы представили) и обновить индикатор прогресса. Процесс состоит из двух частей: первый шаг заключается в фактическом запуске операции, которая должна быть запущена, а второй шаг - в постоянном опросе сервера, чтобы узнать, завершена ли операция.
Однако вам придется каким-то образом сохранять текущее рабочее состояние на сервере. Я не знаю, с какой технологией вы работаете, поэтому я могу только сказать вам использовать что-то, что обеспечивает выбранный вами фреймворк, но убедитесь, что состояние процесса установлено в переменной, которую можно сохранить (HTTP не имеет состояния) в примере в переменной сеанса. Синхронизировать это значение между запущенным процессом и методом опроса может быть сложно.
В целом, такие заставки чаще используются в настольных приложениях или в веб-приложениях, когда обработка выполняется на клиенте. Я не думаю, что это хорошая идея, чтобы попытаться выполнить обновление, когда метод, который вы запускаете асинхронно, находится на сервере. Такой индикатор прогресса будет полезен, когда вы загружаете ресурсы (например, изображения или другие файлы), и вы можете считать загруженные в данный момент элементы / размер в сравнении с общим размером и так далее. Независимо от того, будет ли операция обработки вызываться на сервере или на клиенте, она должна быть счетной ...
Если вам не нужен еще один скучный индикатор «Загрузка ...» в веб-приложении, вы можете случайно отобразить некоторые забавные цитаты или другие тексты из массива.
Лучшее решение - минимизируйте время, необходимое для обработки запроса. :)