如何在正在运行的IBusControl上添加发布消息配置

时间:2019-04-06 21:13:13

标签: c# .net masstransit

我正在将MassTransit与RabbitMqTransport结合使用。 假设我使用以下命令运行了IBusControl

var control = Bus.Factory.CreateUsingRabbitMq(c =>
{
    var host = confgurator.Host(config.BuildHostUri(), h =>
    {
    ...
    });
...
});

await control.StartAsync();

稍后,我使用以下命令将新端点连接到该正在运行的实例:

host.ConnectReceiveEndpoint(Configuration.QueueName, this.ConfigureEndpoint);

此刻是否还可以为新的消息类型配置发布/发送? “配置发布/发送”是指使用IRabbitMqBusFactoryConfigurator上现有的方法:

confgurator.Send<MessageContract>(_ =>
{
    _.UseRoutingKeyFormatter(__ => Configuration.QueueName);
});
confgurator.Message<MessageContract>(x => x.SetEntityName(nameof(MessageContract)));
confgurator.Publish<MessageContract>(_ =>
{
...
}

1 个答案:

答案 0 :(得分:0)

根据Chris Patterson的评论,只能在启动总线之前的配置过程中配置消息类型的发布/发送。