abp 官方使用的hangfire 默认使用的是sqlserver的存储mysql
须要引入支持mysql的类库sql
我这边使用的是Hangfire.MySql.Core数据库
直接用nuget安装便可app
首先按照官方文档要求,改几个地方sqlserver
分别是 Startup 文件下server
services.AddHangfire(config =>
{
config.UseStorage(new MySqlStorage(_appConfiguration.GetConnectionString("Default")));//注意,这里使用的是mysql
});文档
启用控制台字符串
app.UseHangfireDashboard("/hangfire", new DashboardOptions
{
Authorization = new[] { new AbpHangfireAuthorizationFilter(AppPermissions.Pages_Administration_HangfireDashboard) }
});get
而后是配置使用Hangfire 在WebCoreModule中启用这句io
Configuration.BackgroundJobs.UseHangfire();
最重要的,,使用hangfire.mysql.core 这个类库,链接数据库的字符串要加上 Allow User Variables=true;
完整的以下:
server=192.168.1.108;User ID=root;Password=xaxasa;database=db;charset=utf8mb4;Allow User Variables=true;
因为官方没有介绍mysql 的使用方法,足足研究了一天多,各类报错,最终选订这个方案!