@VanilaSpirit

C# API как вывести прогресс выполнения?

Скажем есть метод, который делает определенное действие с большим объемом данных:
public IActionResult Update()
{
    return OK("Завершено");
}


Т.е. выполняется он порядка 5-15 секунд, но на странице надо бы как то отметить что метод подает признаки жизни, скажем ежесекундно измеряет % от выполненного, или просто анимацией - Подождите секунду - и иконка загрузки.

В общем я думаю вопрос дал понятно, но как это можно реализовать внутри метода и можно ли? Любой вариант, лишь бы было понятно, что операции в методе выполняются. Мб статью или пример.
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
IActionResult 
{
  float Progress;
  bool IsDone;
}

Создаёте объект и отдаёте наружу. Внутри меняете Progress, а снаружи этот прогресс показываете пользователю. Ну и по уму завернуть это всё в Task.
Ответ написан
Комментировать
@yuopi
C# developer
В цикле, где будете считать обновляйте модель, в которой должно быть свойство Progress. Дальше дело клиента - получить этот процент, опросами раз в секунду, например, обращением в get метод.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы