天天看點

Hangfire在ASP.NET CORE中的簡單實作

hangfire是執行背景任務的利器,具體請看官網介紹:https://www.hangfire.io/

建立一個asp.net core mvc 項目

Hangfire在ASP.NET CORE中的簡單實作
Hangfire在ASP.NET CORE中的簡單實作

引入nuget包 Hangfire.AspNetCore

Hangfire在ASP.NET CORE中的簡單實作

hangfire的任務需要資料庫持久化,我們在Startup類中修改ConfigureServices

Hangfire在ASP.NET CORE中的簡單實作

然後在Configure方法中啟用hangfire中間件

Hangfire在ASP.NET CORE中的簡單實作

現在我們運作一下項目,可以看到,資料庫裡自動生成了很多表,這些表就是用來持久化任務的

Hangfire在ASP.NET CORE中的簡單實作

我們打開如下位址,可以看到hangfire的作業控制台,現在開沒有任何作業

Hangfire在ASP.NET CORE中的簡單實作

 在Configure方法中添加一個周期性作業,每分鐘執行一次輸出

Hangfire在ASP.NET CORE中的簡單實作

再次啟動應用程式

Hangfire在ASP.NET CORE中的簡單實作
Hangfire在ASP.NET CORE中的簡單實作
Hangfire在ASP.NET CORE中的簡單實作

輸出作業已經有了。

再次修改代碼,假設現在有2個任務,發送跟接收消息,那麼寫一個接口IMessage,Message實作該接口

Hangfire在ASP.NET CORE中的簡單實作
Hangfire在ASP.NET CORE中的簡單實作
Hangfire在ASP.NET CORE中的簡單實作

在starup中注冊,

Hangfire在ASP.NET CORE中的簡單實作

然後在Configure方法中使用

Hangfire在ASP.NET CORE中的簡單實作

再次啟動程式

Hangfire在ASP.NET CORE中的簡單實作

新增的2個作業都有了。

以上隻是hangfire在asp.net core中的簡單使用。

繼續閱讀