【问题标题】:keep running a method after API returns/call ends in C#/.net在 C#/.net 中 API 返回/调用结束后继续运行方法
【发布时间】:2019-09-18 08:34:18
【问题描述】:

我有一个非常耗时的方法,我不想等待,我想在这个特定方法仍在运行时给出 API 响应,让我知道我可以用什么来做到这一点,我尝试使用 multi -threading,但它在返回响应之前等待所有线程结束。请提出替代方案。

【问题讨论】:

  • 您到底想给出什么样的回应?如果该方法尚未完成运行,则您没有结果可发送回用户。
  • 我说的耗时方法是和main方法分开的一个方法,main方法调用耗时方法,我想在main方法执行完毕后响应,不想等待时间的方法。
  • 据我了解,TAP 在响应/返回之前等待所有线程完成执行。如果我错了,请纠正我。

标签: c# .net multithreading


【解决方案1】:

Hangfire 可能很合适,支持不同的“工作”类型并且易于上手。

【讨论】:

  • 感谢您的回答,看起来它可以完成这项工作,但是.net 中是否有任何内置的东西可以使用?
【解决方案2】:

查看消息队列(例如 RabbitMQ )是否适合您的需求。

【讨论】:

    猜你喜欢
    • 2013-10-16
    • 2011-09-07
    • 2023-03-11
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多