Afzaal Ahmad Zeeshan
Это репост вашего вопроса, Отображение визуального результата асинхронного процесса в действии MVC[^]. Содержание вашего комментария помогает понять вопрос.
Проблема в том, что ваши задачи асинхронны, то есть нет никакой информации о том, сколько времени это займет. Таким образом, это хорошая практика, чтобы использовать фоновую службу, чтобы отслеживать эту задачу, и вы показываете прогресс в макете. Таким образом, вы отделите текущую страницу от задачи.
Для выполнения этих действий можно использовать фоновые потоки. Потоки пула потоков ограничены, и у вас быстро закончатся потоки. Создание новых потоков является дорогостоящим и дорогостоящим, и может быть вообще не очень хорошим решением. Таким образом, если бы мне пришлось это сделать, я бы рассмотрел возможность использования какой-то обработки событий, например очереди сообщений, для управления и поддержания состояния определенных событий и операций. Каждая операция может иметь свое состояние, ход выполнения, и я могу использовать это для обновления пользователей.
Проверьте эти ссылки для практического обзора,
Как запустить фоновые задачи в ASP.NET - Скотт Хансельман[^]
c# - Как запустить длительный процесс асинхронно под asp.net-что? - переполнение стека[^]
Простая асинхронная обработка фоновых задач с диалогом выполнения (решение Silverlight)[^]