我在某种程度上理解线程,但在实践中我几乎没有经验。在查看我正在维护的代码时,似乎AWAIT没有提供任何好处。对此方法的所有调用都是通过AJAX进行的,并且只有在用户单击导出链接时才会发生。由于该方法没有其他功能,我认为AWAIT没有任何优势,而是想象它实际上引入了一些开销。我也相信所有其他用户点击导出会将此方法作为自己的线程输入,对吧?因此,这可能仅在单个用户快速点击多次导出时才有用?谢谢。
[PreventLogging]
[HttpPost]
public async Task<JsonResult> GetActivityReportCallsAsync([DataSourceRequest] DataSourceRequest request)
{
try
{
var result = await GetAllCallsAsync();
return Json(result.ToDataSourceResult(request));
}
catch (Exception exc)
{
return JsonShowMessage(false, ServerMessageType.Error, exc.Message);
}
}
答案 0 :(得分:8)
似乎AWAIT没有提供任何好处
您可能需要查看我的async
on ASP.NET MSDN article。在其中,我列举了一些关于async
将对您的请求做什么或不做什么的常见误解。
总之,ASP.NET上的async
/ await
用于可伸缩性,并假设您已经拥有可扩展的后端。它不会使任何个人请求运行得更快,或者提前返回,或类似的任何内容。