Вы по-прежнему можете использовать Response.Write () и Response.Flush () для любого состояния, которое вы хотите отправить по сети. Или, если у вас есть прогресс в пользовательском контроле, вы можете сделать что-то вроде:
this.PartialView("Progress").ExecuteResult(this.ControllerContext);
this.Response.Flush();
от вашего контроллера при выполнении длительной операции в методе действия контроллера.
Вам решать, выбрать этот или клиентский подход, как упомянуто в комментариях здесь, просто хотел указать, что на стороне сервера все еще возможно.