带有 Autofac 的 WebApi 中的 Hangfire:作业不是 运行

Hangfire in WebApi with Autofac: Job not running

我在 WebApi 应用程序中将 Hangfire 与 Hangfire.MemoryStorage 一起使用。

我在我的 owin 中配置了 Hangfire startup.cs:

 Hangfire.GlobalConfiguration.Configuration.UseMemoryStorage();
 app.UseHangfireServer();

然后我尝试在控制器中使用作业激活

var jobId = BackgroundJob.Schedule(
                    () => ForceMissionEmail(mission.Guid),
                    TimeSpan.FromSeconds(10));

代码运行没有错误,但是 ForceMissionEmail 方法在 10 秒后没有被调用。

使用 Hangfire.Autofac Nuget 包和以下代码行解决了我的问题

IContainer container = AutoFacConfig.Register(config, app);
Hangfire.GlobalConfiguration.Configuration.UseAutofacActivator(container);
Hangfire.GlobalConfiguration.Configuration.UseMemoryStorage();
app.UseHangfireServer();