公共交通失败的主机连接

Masstransit failed host connection

我使用 MassTransit.AspNetCore 包将 masstransit 集成到 asp.net core。所以我的 Startup.cs class:

中有以下代码
IBusControl CreateBus(IServiceProvider serviceProvider)
        {
            return Bus.Factory.CreateUsingRabbitMq(cfg =>
            {
                cfg.Host(Configuration["rabbitMqUrl"], h =>
                {
                    h.Username(Configuration["rabbitMqUsername"]);
                    h.Password(Configuration["rabbitMqPassword"]);
                });
            });
        }

        services.AddMassTransit(CreateBus);

问题是,如果 rabbit mq 不可用,我的应用程序会尝试重新连接到主机。有什么方法可以配置尝试次数 - 假设在 3 次尝试后停止尝试重新连接,这样我的应用程序就可以 运行?

bus.StartAsync()方法接受一个CancellationToken,可用于取消启动总线。有一个接受 TimeSpan 的重载,可用于指定连接超时。

托管服务也接受 cancellationToken,但我不确定 ASP.NET Core 如何确定要传递给它的内容以及如何设置超时。