日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

hangfire mysql_.NET之Hangfire快速入门和使用

發(fā)布時(shí)間:2024/1/8 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hangfire mysql_.NET之Hangfire快速入门和使用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章正文:

前言:

定時(shí)任務(wù)調(diào)度問(wèn)題,是一個(gè)老生常談的問(wèn)題。網(wǎng)上有許多定時(shí)任務(wù)調(diào)度的解決方案,對(duì)于我而言很早以前主要是使用Window計(jì)劃和Window服務(wù)來(lái)做任務(wù)定時(shí)執(zhí)行,然后就開始使用定時(shí)任務(wù)調(diào)度框架Quartz.Net。但是卻一直沒(méi)有上手過(guò)Hangfire這個(gè)自帶后臺(tái)任務(wù)調(diào)度面板,可以在后臺(tái)手動(dòng)執(zhí)行任務(wù)的神奇的任務(wù)調(diào)度框架。前段時(shí)間終于開始對(duì)他下手了,通過(guò)在網(wǎng)上查閱了一些資料和查看了Hangfire在Github中的demo,終于在我自己的項(xiàng)目中用上了Hangfire。在該篇文章中主要簡(jiǎn)單介紹一下什么是Hangfire,Hangfire的基本特征與優(yōu)點(diǎn)和分別使用MySQL,MS SQL Server作為存儲(chǔ)使用。

一、Hangfire是什么:

Hangfire是一個(gè)開源的.NET任務(wù)調(diào)度框架,提供了內(nèi)置集成化的控制臺(tái),可以直觀明了的查看作業(yè)調(diào)度情況,并且Hangfire不需要依賴于單獨(dú)的應(yīng)用程序執(zhí)行(如:windows服務(wù),window計(jì)劃)。并且支持持久性存儲(chǔ)。

二、Hangfire使用條件:

Hangfire與特定的.NET應(yīng)用程序類型無(wú)關(guān)。您可以在ASP.NET Web應(yīng)用程序,非ASP.NET Web應(yīng)用程序,控制臺(tái)應(yīng)用程序或Windows服務(wù)中使用它。以下是要求:

1.NET Framework 4.5

2.永久存儲(chǔ)(Hangfire將后臺(tái)作業(yè)和其他與處理有關(guān)的信息保留在永久性存儲(chǔ)器中,所以需要存儲(chǔ)庫(kù)來(lái)存儲(chǔ)如:MS SQL Server,Redis,MySQL,PostgreSql等)

3.Newtonsoft.Json庫(kù)≥5.0.1

三、Hangfire的基本特征與優(yōu)點(diǎn):

通過(guò)官網(wǎng)中的一張圖片便可知道它是一個(gè)多么優(yōu)秀的任務(wù)調(diào)度框架,如下圖所示:

四、Hangfire安裝和使用:

在NuGet上有關(guān)于Hangfire的 一系列軟件包:

詳情地址:?https://www.nuget.org/packages?q=Hangfire

通過(guò)在程序包管理控制臺(tái)中輸入安裝命令安裝Hangfire所需NuGet包:

使用MS SQL Server作為存儲(chǔ)時(shí)我們需要安裝的NuGet:

在ASP.NET 應(yīng)用程序下使用Hangfire安裝:

1 ? Install-Package Hangfire

在控制臺(tái)應(yīng)用程序或者window server中處理作業(yè):

1

2 ? Install-Package Hangfire.Core

Install-Package Hangfire.SqlServer

注意,在控制臺(tái)應(yīng)用程序或者window server中不推薦直接安裝:Install-Package Hangfire ,因?yàn)樗皇且粋€(gè)快速啟動(dòng)軟件包,并包含您可能不需要的依賴項(xiàng)(例如,Microsoft.Owin.Host.SystemWeb等無(wú)關(guān)依賴項(xiàng))。

使用MySQL作為存儲(chǔ)時(shí)我們需要安裝的NuGet:

在ASP.NET 應(yīng)用程序下使用Hangfire安裝:

1 ? Install-Package Hangfire.Core

我們還需要安裝一個(gè)MySql存儲(chǔ)(Hangfire.MySqlStorage)的拓展,注意因?yàn)镠angfire本身是不支持MySQL存儲(chǔ)的,這是名為:Arnoldas Gudas作者拓展的:

Nuget地址:https://www.nuget.org/packages/Hangfire.MySqlStorage/

安裝命令:

注意:因?yàn)槲业捻?xiàng)目是.NET Framework,Version=v4.5.1版本的,所以只能安裝1.0.7版本的,大家看需求而定

1 ? Install-Package Hangfire.MySqlStorage -Version 1.0.7

當(dāng)我們要使用(宿主)IIS托管ASP.NET應(yīng)用程序時(shí),我們還需要安裝:

1 ? Install-Package Microsoft.Owin.Host.SystemWeb -Version 4.0.1

添加和配置OWIN Startup.cs,及其連接對(duì)應(yīng)的存儲(chǔ)數(shù)據(jù)庫(kù):

添加OWIN Startup.cs

這里是當(dāng)你的項(xiàng)目中不存在Startup.cs時(shí)才需要執(zhí)行添加的操作!

什么是OWIN Startup.cs:

簡(jiǎn)單概述:是.NET 平臺(tái)開放的web接口,Startup則是.Net與web通訊管道,起到轉(zhuǎn)發(fā),溝通的作用。

詳情介紹:https://www.cnblogs.com/wj033/p/6065145.html

在Startup.cs中連接需要使用的存儲(chǔ)庫(kù):

1

2

3

4

5

6

7

8

9

10

11

12

13 ? public void Configuration(IAppBuilder app)

{

//運(yùn)用SqlServer存儲(chǔ),對(duì)應(yīng)web.config中的connectionStrings中的name

GlobalConfiguration.Configuration.UseSqlServerStorage("sqlserver_connection");

//注意,當(dāng)你使用的是MySql作為存儲(chǔ)時(shí),需要如下配置

//運(yùn)用MySql存儲(chǔ),對(duì)應(yīng)web.config中的connectionStrings中的name

GlobalConfiguration.Configuration.UseStorage(new MySqlStorage("mysql_connection"));

app.UseHangfireDashboard();//配置后臺(tái)儀表盤

app.UseHangfireServer();//開始使用Hangfire服務(wù)

}

Web.config數(shù)據(jù)庫(kù)連接配置:

1.MS SQL Server中:

總結(jié)

以上是生活随笔為你收集整理的hangfire mysql_.NET之Hangfire快速入门和使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。