Технически, хотя приведенное выше решение может быть полезно, если вы работаете над настольным или мобильным приложением, но если вы используете ASP. NET Серверный компонент, и ваш сервер что-то загружает для вас, пока страница отправляется обратно, то нет возможности обновить интерфейс до того, как загрузка будет завершена и ответ будет отправлен обратно запрашивающему клиенту. В этом вся суть, каждый запрос, который идет на сервер, будет возвращаться только после того, как ответ будет завершен / прерван, он не может вернуться, просто чтобы сообщить о прогрессе, а затем go назад к точке, где он был запущен.
Если вы хотите отображать ход загрузки файла, вам следует go для решений на стороне клиента (JavaScript/jQuery
).
Если вы строго хотите загрузить файл с кодом C#
, затем попробуйте проверить библиотеку SignalR
, это может быть полезно для вас в сообщении об изменениях в бэкэнде во внешний интерфейс, но в то же время было бы сложно управлять просто сообщать о ходе загрузки.
В качестве альтернативы, вы можете переключить браузер на URL-адрес загрузки, и он автоматически загрузит файл для клиента, и индикатор выполнения загрузки браузера по умолчанию будет виден клиентам, загружающим файл.
Несмотря ни на что, вы не можете скачивать файлы с сервера и сообщать о каждом * 101 2 *, который загружается во внешний интерфейс с использованием C# и ASP. NET WebForms / MVC. Если вы не включили в действие jquery / javascript.