c#Web Api服务调用没有返回值 - 异步处理

时间:2015-12-09 11:07:46

标签: c# delegates asp.net-web-api

我希望创建一个Web Api c#fire并忘记我可以发布有效负载的服务,并根据一些初始检查立即返回成功或失败,但在返回200之后异步执行其余的重处理已经完成了。

对于这种情况,最好的方法是什么?

说实话,我正努力在网上找到一个具体的例子。

由于 尼尔

1 个答案:

答案 0 :(得分:0)

我不会将称为最佳方法,但一种可能的方法是使用消息队列

您的流程将是:

  1. 调用RESTful API。
  2. RESTful API资源将消息排入队列,如果成功完成,则返回200/OK
  3. 某些异步工作程序(与Web API不同的进程)会使消息超时并将其处理。整个过程可以是Windows服务(你知道Topshelf吗?),Windows任务计划程序任务......
  4. 如果您已经在Azure中,请查看Service Bus,否则,您可能想要了解有关RabbitMQ等邮件队列服务器的更多信息。