Это проект MVC.Я начал делать тяжелые вызовы для удаленного асинхронного API, но у меня проблемы с отладкой этого кода, потому что он не вводит точку останова после ожидания.Я все еще учусь 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 ()?Идти глубже становится все более запутанным.
Спасибо!