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 的使用方法,足足研究了一天多,各類報錯,最終選訂這個方案!