Вы можете попробовать программирование COMET, что означает, что вы можете открыть соединение веб-запроса к файлу ASHX, и в этом файле ASHX вы можете отправить. Напишите одну строку, которая включает прогресс и очистите поток, не закрывайте его, пока не достигнете 100% , А на стороне клиента вы можете продолжать читать веб-ответы до тех пор, пока не получите 100%, это лучше, чем опрос, так как для этого требуется только одно сокетное соединение с сервером на все время и очень мало байтов для передачи данных.