创建HangFireDashboard
(一)创建MVC项目,并引入Hangfire
工具->Nuget包管理器->程序包管理器控制台
- Install-Package Hangfire.Core
- Install-Package Hangfire.MySqlStorage -Version 1.0.5
注意:hangfire支持.NETFramework,Version=v4.6及以上版本,所以创建项目时选好框架。
这里我是用MySql作为Hangfire的Storage。Hangfire 官方在免费版中只提供了 SqlServer 接入的支持,在收费版多一个 Redis。需要 MongoDB、SqlServer 、PostgreSql、SQLite 等其他 Storages 的可以自己寻找第三方的开源项目,这里有一个官方推荐的扩展清单,清单中列出了一些其他种类的 Storages。
(二)修改Startup.cs
using Hangfire;
using Hangfire.MySql;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartupAttribute(typeof(HangFireDashboard.Startup))]
namespace HangFireDashboard
{
public partial class Startup {
public void Configuration(IAppBuilder app) {
//指定Hangfire使用内存存储后台任务信息
var storage = new MySqlStorage("gyy_hangfireservice");
GlobalConfiguration.Configuration.UseStorage(storage);
//启用HangfireServer这个中间件(它会自动释放)
app.UseHangfireServer();
//启用Hangfire的仪表盘(可以看到任务的状态,进度等信息)
app.UseHangfireDashboard();
}
}
}
(三)、编译发布项目即可。浏览器输入localhost:8080/hangfire。端口号自行设置
运行结果如下:
注意:只是实现了本地服务器打开,如果需要其他客户端打开需要配置授权。
另外,Mysql作为数据库存储,自动生成的表结构有问题,需要手动删除后重新生成。hangfire-Mysql数据库创建如下:
https://pan.baidu.com/s/1L4uY7ZcOYH-8MkCZ0Qb7DA