我使用MassTransit.AspNetCore
程序包将masstransit
集成到asp.net core
。所以我的Startup.cs
类中包含以下代码:
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
的过载,该过载可用于指定连接的超时。
托管服务也接受cancelToken,但是我不确定ASP.NET Core如何确定要传递给它的内容以及如何设置超时。