Hangfire是一个综合的后台工作管理者。你可以将Hangfire集成到ABP中,这样就可以不使用默认的后台工作管理者了。但你仍然可以为Hangfire使用相同的后台工作API。这样,你的代码就独立于Hangfire了,但是,如果你喜欢的话,也可以直接使用 Hangfire的API。
首先,将nuget包安装到你的项目中,然后你可以为Hangfire安装任何存储。最常用的一个存储室SQL Server存储(查看 nuget包)。安装完这些nuget包之后,你才可以在ABP中配置Hangfire,如下所示:
[DependsOn(typeof (AbpHangfireModule))]public class MyProjectWebModule : AbpModule{ public override void PreInitialize() { Configuration.BackgroundJobs.UseHangfire(configuration => { configuration.GlobalConfiguration.UseSqlServerStorage("Default"); }); } //...}
如上所示,我们添加了AbpHangfireModule作为依赖,并使用了Configuration.BackgroundJobs.UseHangfire
方法来开启和配置Hangfire(“Default”是web.config中的连接字符串名称)。
注意:Hangfire要求创建数据库模式的权限,因为第一次运行时,它要创建自己的模式和表。
查看获取更多信息。