关于hangfire的使用

Posted ning-xiaowo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于hangfire的使用相关的知识,希望对你有一定的参考价值。

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方法中使用

 

 

 

 

 

 

 

技术图片

 

 

 

 

 

 

 

 

 

 

以上是关于关于hangfire的使用的主要内容,如果未能解决你的问题,请参考以下文章

ABP官方文档翻译 7.2 Hangfire集成

使用 .NET Core 进行 Hangfire 依赖注入

使用 Hangfire 创建重复作业时出错

abp 使用 hangfire结合mysql

Hangfire使用ApplicationInsigts监控

Windows 服务使用 HangFire 每天发送电子邮件