我有一个asp.net core API应用程序,这是我第一次使用HangFire。 在.NET Core应用程序中,所有我的方法都是异步的。 根据SO贴文,在调用Hangfire中的异步方法时使用wait()
不是一个好主意。
此外,根据hangfire支持问题 ,v1.6.0添加了异步支持。 我正在使用版本1.6.12,但仍然看不到异步支持。
我如何从Enqueue
调用异步方法。 目前我正在使用wait()
public class MyController : Controller
{
private readonly Downloader _downlaoder;
private readonly IBackgroundJobClient _backgroungJobClient;
public MyController(Downloader downloader, IBackgroundJobClient backgroungJobClient)
{
_downlaoder = downloader;
_backgroungJobClient = backgroungJobClient;
}
[HttpPost]
public void Post([FromBody]IEnumerable<string> files)
{
_backgroungJobClient.Enqueue(() => _downloader.DownloadAsync(files).Wait());
}
}