Web-Api:收到请求时 - 给出响应,然后继续执行与请求相关的工作

Web-Api: When getting a request - give a response but then continue do a job related to the request

我们有一个基于 web-api 的服务器,用户发出请求。
许多请求的后果超出了我们需要给用户的答案。
所以我们想给出 him/her 答案,然后继续处理含义。

有时我们需要 "next actions" 快速发生。有时我们可以等一下。

我想到了以下选项:

我说的对吗?我错了吗?
guidelines/best这类问题的做法是什么

我认为在这种情况下进行后台处理的最佳方法是使用一些队列,例如azure webjobs 或者更复杂的东西,比如 NServiceBus。您只需发送 message/order 处理和 return 响应,通知用户此订单已被接受。此类操作甚至有特殊的 HTTP 代码 (202)。

打开另一个线程不太好,因为你对此失去了控制。没有简单的方法来监控它。如果该线程崩溃或应用程序池回收怎么办?您丢失了所有数据,用户将永远等待。就是不靠谱