1.安装Nuget包
Hangfire.Core
Hangfire.SqlServer --sqlserver数据库
SqlServer需要配置其中一个包
Microsoft.Data.SqlClient
system.data.sqlclient
Hangfire.AspNetCore --AspNetCore支持
Hangfire.Dashboard.BasicAuthorization --可视化+权限控制
Hangfire.HttpJob --httpJob
2.创建SqlServer数据库
CREATE DATABASE HangFireText3.appsettings.json配置连接字符串
"ConnectionStrings": { "Hangfire": "Data Source=.;Initial Catalog=HangFireText;Integrated Security=True;Encrypt=false" } 其中 Encrypt=false 解决 证书链是由不受信任的颁发机构颁发的 问题4.Program.cs
using Hangfire;
using Hangfire.HttpJob;
using Hangfire.AspNetCore;
using Hangfire.SqlServer;
using Hangfire.Dashboard.BasicAuthorization;
var Config = builder.Configuration;
builder.Services.AddHangfire(config => config
.SetDataCompatibilityLevel(CompatibilityLevel.Version_170)
.UseSimpleAssemblyNameTypeSerializer()
.UseRecommendedSerializerSettings()
.UseStorage(new SqlServerStorage(
Config["ConnectionStrings:Hangfire"],
new SqlServerStorageOptions
{
CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5),
QueuePollInterval = TimeSpan.FromSeconds(15),
UseRecommendedIsolationLevel = true,
UsePageLocksOnDequeue = true,
DisableGlobalLocks = true
})).UseHangfireHttpJob());
// Add the processing server as IHostedService
builder.Services.AddHangfireServer();
app.UseHangfireDashboard("/hangfire", new DashboardOptions
{
Authorization = new[] {new BasicAuthAuthorizationFilter(new BasicAuthAuthorizationFilterOptions
{
RequireSsl = false,
SslRedirect = false,
LoginCaseSensitive = true,
Users = new []
{
new BasicAuthAuthorizationUser
{
Login = "admin",
PasswordClear = "admin"
}
}
})}
});
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", async context =>
{
await context.Response.WriteAsync("Hello World!");
});
});
标签:false,--,SqlServer,Hangfire,new,using,NET6,定时 From: https://www.cnblogs.com/g2594/p/17588946.html