【问题标题】:Difference between defining web api methods - newbie定义 web api 方法的区别 - 新手
【发布时间】:2018-11-02 17:44:31
【问题描述】:

如下声明WEB API方法有什么区别:

  1. public async Task<IActionResult> Get() {}
    
  2. 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


【解决方案1】:

方法 1 是一个异步 API Action,返回一个简单的 ActionResult,它是 action 方法返回类型的基类型。

方法 2 是一个同步 API 动作,返回一个封装了字符串集合的通用 IActionResult 类型。

考虑到方法名称Get,它们是您可以调用以从 Web 服务器获取一些数据的 API。

这能回答问题吗?

【讨论】:

    猜你喜欢
    • 2014-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 2011-09-02
    • 1970-01-01
    相关资源
    最近更新 更多