У меня есть метод асинхронного действия с именем " GetStudentsDetails ", который извлекает данные через webAPI ..., который связан с его представлением.
То, чего я хочу достичь, - это когда пользователь щелкаеткнопка с другой страницы для вызова метода действия «GetStudentsDetails», она должна напрямую отображать страницу просмотра «GetStudentsDetails» с загрузчиком «Spinner» и текстом с надписью « Пожалуйста, подождите, пока страница извлекает данные студентов »;и в то же время метод действия по-прежнему извлекает данные в фоновом режиме ... и когда веб-интерфейс завершает извлечение данных, он напрямую передает данные в представление. (возможно, не загружая снова страницу просмотра). Поскольку приведенный ниже метод ожидает, пока webapi завершит извлечение данных и их отображение ... и время ожидания может варьироваться ... иногда это занимает много времени ...
[HttpGet]
public async Task<ActionResult> GetStudentsDetails()
{
HttpClient client = new HttpClient();
string studentsData = null;
HttpResponseMessage response = await client.GetAsync("https://www.mywebsite.com");
if (response.IsSuccessStatusCode)
{
studentData = await response.Content.ReadAsStringAsync();
var studentsDataJson = JsonConvert.DeserializeObject<List<StudentsViewModel>>(studentData);
}
return View(studentsDataJson);
}