Я пытаюсь вызвать простое веб-приложение .NET Core 2.0 со страницами Razor.Страница связана с одинаково простым Core 2.0 Web API.У меня есть простой класс:
public class About : PageModel
{
private ServiceProxy serviceProxy;
public About(ServiceProxy serviceProxy)
{
this.serviceProxy = serviceProxy;
}
public IEnumerable<ProductViewModel> Values { get; set; }
public async void OnGetAsync()
{
this.Values = await this.serviceProxy.GetValuesAsync();
}
}
И страница также проста:
@page
@model About
@{
ViewData["Title"] = "About";
}
<h2>@ViewData["Title"]</h2>
<h3>@Model.Message</h3>
@foreach (var product in @Model.Values)
{
<p>@product.Name</p>
}
Однако страница отображается до того, как метод OnGetAsync()
может заполнить список «Значения».Это похоже на обычную операцию, но я не могу найти никакого обсуждения (я также пытался перебрать асинхронный метод GetValues ()).
Каким образом страницы CSHTML должны взаимодействовать с веб-API, для возврата результатов которого может потребоваться несколько секунд?