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

文章正文:

前言:

定时任务调度问题,是一个老生常谈的问题。网上有许多定时任务调度的解决方案,对于我而言很早以前主要是使用Window计划和Window服务来做任务定时执行,然后就开始使用定时任务调度框架Quartz.Net。但是却一直没有上手过Hangfire这个自带后台任务调度面板,可以在后台手动执行任务的神奇的任务调度框架。前段时间终于开始对他下手了,通过在网上查阅了一些资料和查看了Hangfire在Github中的demo,终于在我自己的项目中用上了Hangfire。在该篇文章中主要简单介绍一下什么是Hangfire,Hangfire的基本特征与优点和分别使用MySQL,MS SQL Server作为存储使用。

一、Hangfire是什么:

Hangfire是一个开源的.NET任务调度框架,提供了内置集成化的控制台,可以直观明了的查看作业调度情况,并且Hangfire不需要依赖于单独的应用程序执行(如:windows服务,window计划)。并且支持持久性存储。

二、Hangfire使用条件:

Hangfire与特定的.NET应用程序类型无关。您可以在ASP.NET Web应用程序,非ASP.NET Web应用程序,控制台应用程序或Windows服务中使用它。以下是要求:

1.NET Framework 4.5

2.永久存储(Hangfire将后台作业和其他与处理有关的信息保留在永久性存储器中,所以需要存储库来存储如:MS SQL Server,Redis,MySQL,PostgreSql等)

3.Newtonsoft.Json库≥5.0.1

三、Hangfire的基本特征与优点:

通过官网中的一张图片便可知道它是一个多么优秀的任务调度框架,如下图所示:

0a86397044b5d02e9bac036558eaef98.png

四、Hangfire安装和使用:

在NuGet上有关于Hangfire的 一系列软件包:

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

通过在程序包管理控制台中输入安装命令安装Hangfire所需NuGet包:

使用MS SQL Server作为存储时我们需要安装的NuGet:

在ASP.NET 应用程序下使用Hangfire安装:

1   Install-Package Hangfire

在控制台应用程序或者window server中处理作业:

1

2   Install-Package Hangfire.Core

Install-Package Hangfire.SqlServer

注意,在控制台应用程序或者window server中不推荐直接安装:Install-Package Hangfire ,因为它只是一个快速启动软件包,并包含您可能不需要的依赖项(例如,Microsoft.Owin.Host.SystemWeb等无关依赖项)。

使用MySQL作为存储时我们需要安装的NuGet:

在ASP.NET 应用程序下使用Hangfire安装:

1   Install-Package Hangfire.Core

我们还需要安装一个MySql存储(Hangfire.MySqlStorage)的拓展,注意因为Hangfire本身是不支持MySQL存储的,这是名为:Arnoldas Gudas作者拓展的:

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

安装命令:

注意:因为我的项目是.NET Framework,Version=v4.5.1版本的,所以只能安装1.0.7版本的,大家看需求而定

1   Install-Package Hangfire.MySqlStorage -Version 1.0.7

当我们要使用(宿主)IIS托管ASP.NET应用程序时,我们还需要安装:

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

添加和配置OWIN Startup.cs,及其连接对应的存储数据库:

添加OWIN Startup.cs

这里是当你的项目中不存在Startup.cs时才需要执行添加的操作!

765b5d857d9dc59e26dc3e4ea2e01d53.png

什么是OWIN Startup.cs:

简单概述:是.NET 平台开放的web接口,Startup则是.Net与web通讯管道,起到转发,沟通的作用。

详情介绍:https://www.cnblogs.com/wj033/p/6065145.html

在Startup.cs中连接需要使用的存储库:

1

2

3

4

5

6

7

8

9

10

11

12

13   public void Configuration(IAppBuilder app)

{

//运用SqlServer存储,对应web.config中的connectionStrings中的name

GlobalConfiguration.Configuration.UseSqlServerStorage("sqlserver_connection");

//注意,当你使用的是MySql作为存储时,需要如下配置

//运用MySql存储,对应web.config中的connectionStrings中的name

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

app.UseHangfireDashboard();//配置后台仪表盘

app.UseHangfireServer();//开始使用Hangfire服务

}

Web.config数据库连接配置:

1.MS SQL Server中:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值