为什么 Hangfire 服务器关闭?
Why Hangfire server shuts down?
我有一个使用 Hangfire 的 .net 5 应用程序。
问题是一旦应用程序完成启动,hangfire 服务器就会关闭。如果我在 Startup.cs
的最后一行放置一个断点,hangfire 服务器还活着。
没有错误记录。
这可能是什么原因?
下面是添加Hangfire的代码。
public void ConfigureServices(IServiceCollection services)
{
services.AddHangfire(config =>
{
config.UseSqlServerStorage(configuration.GetConnectionString("HangfireDefaultConnection"), new SqlServer.SqlServerStorageOptions
{
CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5),
QueuePollInterval = TimeSpan.Zero,
UseRecommendedIsolationLevel = true,
DisableGlobalLocks = true,
SchemaName = "dbo.WR_Hangfire",
});
});
....
}
public void Configure(IApplicationBuilder app)
{
...
app.UseHangfireServer();
...
}
原来 app.UseHangfireServer();
已被弃用,这就是问题所在。通过使用 services.UseHangfireServer()
.
注册服务器解决
我有一个使用 Hangfire 的 .net 5 应用程序。
问题是一旦应用程序完成启动,hangfire 服务器就会关闭。如果我在 Startup.cs
的最后一行放置一个断点,hangfire 服务器还活着。
没有错误记录。
这可能是什么原因?
下面是添加Hangfire的代码。
public void ConfigureServices(IServiceCollection services)
{
services.AddHangfire(config =>
{
config.UseSqlServerStorage(configuration.GetConnectionString("HangfireDefaultConnection"), new SqlServer.SqlServerStorageOptions
{
CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5),
QueuePollInterval = TimeSpan.Zero,
UseRecommendedIsolationLevel = true,
DisableGlobalLocks = true,
SchemaName = "dbo.WR_Hangfire",
});
});
....
}
public void Configure(IApplicationBuilder app)
{
...
app.UseHangfireServer();
...
}
原来 app.UseHangfireServer();
已被弃用,这就是问题所在。通过使用 services.UseHangfireServer()
.