Просто вопрос, я запутался в том, как мне этого добиться.Я просто хочу реализовать индикатор прогресса на сколько времени ответ от HTTP-запроса клиента.Я видел много уроков о том, как реализовать этот индикатор, но все это было сосредоточено на файле, загружаемом с сервера.Я хочу спросить, что было бы лучшим подходом для этого.
Это моя ситуация.У меня есть веб-API, который генерирует ZIP-файл, который содержит файл из нескольких слов, который был создан на основе параметров с вызывающего сайта.По сути, многое происходит из-за извлечения записей из базы данных и генерации этих файлов, поэтому для отправки ответа потребовалось время, и я хочу хотя бы показать индикатор выполнения из этого, чтобы когда наш пользователь нажимал кнопку, чтобысгенерируйте этот файл, они могут видеть ход создания отчета.
Вот как я использую API:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri ("MYBASEURI");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/zip"));
var content = new StringContent(strModel, Encoding.UTF8, "application/json");
var response = await client.PostAsync("API_URI", content);
if (!response.IsSuccessStatusCode)
{
ExceptionResponse ex = await response.ExceptionResponse();
return null;
}
var data = await response.Content.ReadAsStreamAsync();
return File(data, "application/zip", "File.zip");
}
Я вызываю этот метод при отправке формы, так как он имеетпараметры, необходимые для генерации отчета.