我最近开始使用Hangfire来处理ASP.NET项目中的后台作业。
我的工作涉及使用WebRequest
的大量,大量(和大量)HTTP调用(我可能会迁移到其他地方,但以后会这样做。)
在浏览此主题时,I stumbled upon people who do async calls in hangfire.
在Hangfire工作中使用async/await
任务有什么意义吗?我知道它是一个队列,因此作业不会同时执行,但由于我的项目没有GUI,我有什么理由使用async/await
在Hangfire作业中进行HTTP调用吗?
PS:涉及长时间运行的作业的请求使用Task“设计模式”,因此客户端不会遇到任何超时
答案 0 :(得分:1)
您绝对可以使用Hangfire运行异步方法,并在这些异步方法中使用等待。
您链接的SO问题是对传递给Hangfire的方法进行阻止Wait
调用以进行序列化,然后由hangfire服务执行。
这与
等非常不同hangfireClient.Enqueue(() => myClass.RunAsync());
其中RunAsync
是包含async
的{{1}}方法。
awaits