C# 是否有办法在Asp.NetCore控制台应用程序中的“ConfigureServices”方法中设置队列侦听hangfire?

C# 是否有办法在Asp.NetCore控制台应用程序中的“ConfigureServices”方法中设置队列侦听hangfire?,c#,asp.net-core,hangfire,C#,Asp.net Core,Hangfire,使用Asp.NetCore的host builder,我尝试使用ConfigureServices方法中可以使用的方法更改Hangfire的侦听队列 我想知道我是否可以这样做,或者我是否有义务使用: 使用新的BackgroundJobServeroptions{/*…*/},或者如果有其他方法 这是我的主要方法 static void Main(string[] args) { HostBuilder hostBuilder = new HostBuilder(); hostBu

使用Asp.NetCore的host builder,我尝试使用ConfigureServices方法中可以使用的方法更改Hangfire的侦听队列

我想知道我是否可以这样做,或者我是否有义务使用:

使用新的BackgroundJobServeroptions{/*…*/},或者如果有其他方法

这是我的主要方法

static void Main(string[] args)
{
    HostBuilder hostBuilder = new HostBuilder();
    hostBuilder.ConfigureServices(ConfigureServices);
    hostBuilder.Build().Run();
}
下面是我的ConfigureServices方法的外观:

public static void ConfigureServices(IServiceCollection services)
{
    services.AddHangfire(config =>
    {
        config.UsePostgreSqlStorage();
    });

    services.AddHangfireServer();
}
我希望AddHangfireServer有一个接受BackgroundJobServerOptions的重载,但我没有找到

是否有一种方法我错过了过载,或者您完全用另一种方法设置了侦听的队列?

编辑:services.AddHangfireServer;从Hangfire 1.7.5开始,将有一个超负荷接受BackgroundJobServerOptions

针对hangfire版本低于1.7.5的人员的响应:

我研究了AddHangfireServer方法的应用,他们正在做:

var options=provider.GetService??新的背景工作服务器选项

因此,传递BackgroundJobServerOptions的一种方法是在调用AddHangfireServer方法之前将其注册到IoC容器

以下是我的最终配置服务方法:

public static void ConfigureServices(IServiceCollection services)
{

    //this was added
    services.AddSingleton(new BackgroundJobServerOptions()
    {
        //you can change your options here
        Queues = new[] { "etl" }
    });

    services.AddHangfire(config =>
    {
        config.UsePostgreSqlStorage();
    });

    services.AddHangfireServer();
}