我在MVC WebApi asp.net 中的API在执行某些功能时速度很慢。 这是因为我的功能以同步的方式做很多事情。
示例 : 创建用户的功能:
- 格式用户
- 添加 BDD
- 发送邮件(花点时间(
- 创建其他实体(花点时间(
- 对客户端的响应 200
我想要这样的东西
- 格式用户
- 添加 BDD
- 创建发送邮件的事件 创建
- 事件以创建其他实体
- 对客户端的响应 200
- 发送邮件(花点时间(
- 创建其他实体(花点时间(
我听说过EventBus或类似的东西,但我没有找到完整的答案
感谢您的帮助!!
对于 .NET Framework,您可以使用集成功能:HostingEnvironment.QueueBackgroundWorkItem
方法。
计划可在后台运行的任务,独立于任何请求。
对于 .NET Core,也存在提供此功能的问题,但目前没有现成的此类功能。建议的方法是使用依赖关系注入实现BackgroundTaskQueue
。
我个人没有使用过这个,但你也可以尝试使用像hangfire这样的库。