Это проект MVC. Я начал делать несколько тяжелых вызовов удаленному api async, но у меня возникают проблемы с отладкой этого кода, потому что он не входит в точку останова после ожидания. Я все еще изучаю async / await. Метод GetSearchResults используется в запросах ajax на веб-интерфейсе. Приложение размещено в IIS.
Вот мой контроллер:
[HttpGet]
public async Task<ActionResult> GetSearchResults(SearchRequest searchModel)
{
var result = await _apiSearchService.SearchAsync(searchModel);
return Json(result, JsonRequestBehavior.AllowGet);
}
А вот и мой метод внутри службы:
public async Task<Search> SearchAsync(SearchRequest searchRequest)
{
var requestUrl = "api/search";
var request = new NewtonsoftRestRequest(requestUrl, Method.GET);
/*
...assigning params
*/
var response = await _apiClient.ExecuteTaskAsync(request);
var searchResults = _apiClient.ResolveResponse<Search>(response);
return searchResults;
}
Когда я попал в линию
await _apiSearchService.SearchAsync(searchModel);
Я ввожу SearchAsync
метод, а после строки с ExecuteTaskAsync
я вообще выхожу из отладки и получаю свою страницу.
var response = await _apiClient.ExecuteTaskAsync(request);
Может ли кто-нибудь сказать мне, как здесь можно добиться отладки? Кроме того, может ли кто-нибудь провести быструю проверку кода, если я хорошо использую async / await? Также, может быть, мне стоит использовать Task.Run ()? Погружение вглубь действительно сбивает с толку.
Спасибо!