如何在 Asp.Net MVC WebAPI 中执行异步事件



我在MVC WebApi asp.net 中的API在执行某些功能时速度很慢。 这是因为我的功能以同步的方式做很多事情。

示例 : 创建用户的功能:

  • 格式用户
  • 添加 BDD
  • 发送邮件(花点时间(
  • 创建其他实体(花点时间(
  • 对客户端的响应 200

我想要这样的东西

  • 格式用户
  • 添加 BDD
  • 创建发送邮件的事件
  • 创建
  • 事件以创建其他实体
  • 对客户端的响应 200
  • 发送邮件(花点时间(
  • 创建其他实体(花点时间(

我听说过EventBus或类似的东西,但我没有找到完整的答案

感谢您的帮助!!

对于 .NET Framework,您可以使用集成功能:HostingEnvironment.QueueBackgroundWorkItem方法。

计划可在后台运行的任务,独立于任何请求。

对于 .NET Core,也存在提供此功能的问题,但目前没有现成的此类功能。建议的方法是使用依赖关系注入实现BackgroundTaskQueue

我个人没有使用过这个,但你也可以尝试使用像hangfire这样的库。

最新更新