这是MVC项目。我已经开始对远程api异步进行大量调用,但是我在调试该代码时遇到了问题,因为它在等待后没有进入断点。我仍在学习异步/等待。前端的ajax请求中使用的GetSearchResults方法。应用程序托管在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);
有人可以告诉我如何在这里实现调试吗?另外,如果我很好地使用了异步/等待功能,那么有人可以进行快速代码审查吗?另外也许我应该使用Task.Run()?更深入的了解确实越来越令人困惑。
谢谢!
答案 0 :(得分:0)
问题是我的方法中未处理的异常。谢谢@bommelding