【发布时间】:2018-11-02 17:44:31
【问题描述】:
如下声明WEB API方法有什么区别:
public async Task<IActionResult> Get() {}public ActionResult<IEnumerable<string>> Get()
【问题讨论】:
-
一个是异步的,另一个不是。您可以将 await 关键字与数字 1 一起使用,但不能与数字 2 一起使用。
-
开发人员为什么要使用这些方法?使用方法 1 和 2 的目的是什么。对不起,我是新手。
-
使用方法一,您可以进行异步编程,因此,例如,在您的 Controller 中,您想要从数据库中下载文件,但还需要进行一些其他数据拉取或推送,您可以使用方法 1 运行任务来执行该过程并继续在主线程中执行代码,生成另一个任务来执行另一个文件下载或上传(并行编程),然后等待这两个任务完成,然后再从该方法返回.这可能比方法 2 快很多,具体取决于您需要执行多少操作以及多少操作取决于先前操作的结果。
-
尝试阅读这篇文章,它回答了您的问题并讨论了同步与异步:stackoverflow.com/questions/26158789/…
-
@RyanWilson 方法(二)呢
标签: c# asp.net-core asp.net-core-webapi