В Интернете можно найти множество примеров веб-индикаторов выполнения, но многие из них представляют собой расчетное время и не могут достоверно отражать реальный ход выполнения задачи. Я объединил многопоточность и ShowModalDialog для создания индикатора выполнения в реальном времени. Принцип очень прост: используйте поток для запуска долгосрочной задачи, определите сеанс, измените значение сеанса, когда задача переходит на разные этапы. и используйте ShowModalDialog, чтобы открыть поток при его запуске. Окно индикатора выполнения, которое постоянно обновляется для получения значения сеанса и отражает ход выполнения в реальном времени. Давайте посмотрим на конкретный код: (Загрузите исходный код в конце статьи).
Сначала создайте новую страницу Default.aspx,
Клиентский код: