文檔目錄html
本節內容:web
Hangfire是一個綜合的後臺做業管理器,能夠在ABP裏集成它替代默認的後臺做業管理器,你能夠爲Hangfire使用相同的後臺做業Api,所以你的代碼不依賴於Hangfire,可是,若是你喜歡你能夠直接使用Hangfire的API。app
首先, 安裝Abp.HangFire nuget包到你的項目,而後能夠爲Hangfire安裝任何存儲,很是通用的是Sql Server存儲(查看Hangfire.SqlServer nuget 包),在安裝完這些包後,配置ABP,讓它使用Hangfire,以下所示:spa
[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中數據庫鏈接的名稱)。code
Hangfire須要在你的數據庫建立結構的許可,由於它在首次運行時,建立它本身的結果和表。更多信息查看Hangfire文檔。htm
Hangfire能夠提供一個面板頁面,實時顯示全部後臺做業的狀態,你能夠按它本身的文檔描述那樣配置,默認狀況下,全部用戶均可以使用這個面板頁面,不須要受權,你能夠用定義在Abp.HangFire包裏的AbphangfireAuthorizationFilter類,把它集成到ABP的受權系統裏。配置示例:blog
app.UseHangfireDashboard("/hangfire", new DashboardOptions { Authorization = new[] { new AbpHangfireAuthorizationFilter() } });
若是用戶已經登陸到應用,就會使用這個進行檢查,若是你須要一個額外的許可,你能夠把許可傳入它的構造器:
app.UseHangfireDashboard("/hangfire", new DashboardOptions { Authorization = new[] { new AbpHangfireAuthorizationFilter("MyHangFireDashboardPermissionName") } });
注意:UsehangifreDashboard應該在你的Startup類裏的受權中間件運行後調用(多是在最後一行)。不然,受權會一直失敗。
kid1412附:英文原文:http://www.aspnetboilerplate.com/Pages/Documents/Hangfire-Integration