【发布时间】:2017-03-29 20:02:12
【问题描述】:
我有 asp.net 核心 API 应用程序,这是我第一次使用 HangFire。
在 .Net Core 应用程序中,我所有的方法都是异步的。基于SO Post,在hangfire 中调用异步方法时使用wait() 并不是一个好主意。
同样根据 v1.6.0 中的 hangfire support issue,添加了异步支持。我使用的是 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());
}
}
【问题讨论】:
标签: c# asp.net-core .net-core hangfire