Как использовать внешний веб-API асинхронно в ASP. Net Core MVC - PullRequest
0 голосов
/ 20 января 2020

Мой метод действия вызывается при нажатии кнопки, как показано ниже, при этом выполняется полная ссылка на страницу sh, хотя действие асинхронно c. Внешний API-интерфейс занимает около 2 минут для обработки, прежде чем получить ответ. Можете ли вы помочь, где я должен исправить, чтобы сделать вызов API без страницы refre sh. Также возможно сделать почтовые запросы одновременно, когда предыдущий запрос выполняется.

<form asp-action="createAsync">

<div class="form-group">
 <label asp-for="Name" class="control-label"></label>
 <input asp-for="Name" class="form-control" />
 <span asp-validation-for="Name" class="text-danger"></span>
</div>
<div class="form-group">
 <input type="submit" value="Submit" class="btn btn-primary" id="btn" />
</div>

</form>

        public async Task<ActionResult> createAsync(Product product)
        {            
            using (var client = new HttpClient())
            {
                client.Timeout = TimeSpan.FromMinutes(10);

                client.BaseAddress = new Uri("External API URL");

                //HTTP POST
                var postTask = await client.PostAsJsonAsync<ReportParams>("Product", product);

            }

            //ModelState.AddModelError(string.Empty, "Server Error. Please contact administrator.");

            return View(product);
        }
...