Hangfire.AspNetCore --Hangfire的組件的包
Hangfire.MySql.Core / Hangfire.Sqlserver --Hangfire的持久化數據庫的包
--權限包分為2種 任選其一 依賴項不同請自行選擇
Hangfire.Dashboard.Authorization --Hangfire的權限控制包 (依賴項是owin和hangfire.Core) (目前沒找到可視化界面的方法)
Hangfire.Dashboard.BasicAuthorization --Hangfire被人二次封裝的包。支持可視化界面的植入。支持core等
hangfire是執行后台任務的利器,具體請看官網介紹:https://www.hangfire.io/
新建一個asp.net core mvc 項目
引入nuget包 Hangfire.AspNetCore
hangfire的任務需要數據庫持久化,我們在Startup類中修改ConfigureServices
然后在Configure方法中啟用hangfire中間件
現在我們運行一下項目,可以看到,數據庫里自動生成了很多表,這些表就是用來持久化任務的
我們打開如下地址,可以看到hangfire的作業控制面板,現在開沒有任何作業
在Configure方法中添加一個周期性作業,每分鍾執行一次輸出
再次啟動應用程序
輸出作業已經有了。
再次修改代碼,假設現在有2個任務,發送跟接收消息,那么寫一個接口IMessage,Message實現該接口
在starup中注冊,
然后在Configure方法中使用