【发布时间】:2015-02-05 15:25:57
【问题描述】:
我正在尝试结合 webapi 来了解新的 async/await 功能。
我想做的是:
- 我在某个端点上的控制器 (A) 上收到 (POST) 请求。
- 此控制器什么都不做,只是将此请求发送到另一个端点上的第二个控制器 (B)(不要问我为什么 - 只是一个思想实验)。
- 假设 B 做了一些长时间运行的工作(从某处检索数据)并将结果存储在数据库中。
我不想等待 B 的工作,然后才能向发送给 A 的请求返回 OK 消息。我希望能够在工作仍在进行时呼叫 A 并尽快回复 OK在 B 完成。
这甚至可能吗?如果是这样,设计这样的东西的正确方法是什么?
感谢您给我的任何指点。
【问题讨论】:
-
万一B插入数据库失败怎么办?调用者对此感兴趣吗?
-
不,不在乎 B 发生了什么。
-
赞成每个人,因为我从每句话中都学到了一些东西。谢谢大家 - async - await 仅在您必须对长时间运行任务的结果做出响应的情况下才有用。
标签: c# asp.net .net asynchronous async-await