В ASP.NET MVC отправьте клиенту статус выполнения серверной функции - PullRequest
0 голосов
/ 15 мая 2018

У меня есть следующая кнопка, которая загружает очень большой PDF, вызывая функцию DownloadPdf() в DownloadController.

<a type="button" class="btn btn-default btn-lg float-right" style="background-color:dodgerblue" title="Download as PDF" href="@Url.Action("DownloadPdf", "Download", new { id = Model.Id })" )">
    <span data-feather="download" style="color:white" aria-hidden="true"></span>
</a>

Проблема в том, что метод DownloadPdf() занимает очень много времени, потому что он извлекает множество мелких фрагментов из различных баз данных и объединяет их в один PDF-файл. Сбор данных занимает пару секунд, а также преобразование документа в PDF с помощью PdfSharp.

.

У меня такой вопрос: поскольку DownloadPdf() - это метод на стороне сервера, может ли пользовательский интерфейс клиента отображать обновление статуса процесса DownloadPdf()? Например, он было бы здорово, если бы DownloadPdf() мог установить некоторую переменную со строковым значением «Сбор данных 1 из 10» или «Создание PDF», отправить значение этой переменной клиенту и отобразить его пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...