【问题标题】:Configure MassTransit Message at runtime在运行时配置 MassTransit 消息
【发布时间】:2020-03-31 16:51:07
【问题描述】:

我想在运行时配置 MassTransit Message。我找不到这样做的方法,并且想知道我是否错过了某些东西,或者是否不可能。这是它目前的样子:

var azureServiceBus = Bus.Factory.CreateUsingAzureServiceBus(busConfig =>
{
    busConfig.Message<MyType>(configTopology =>
    {
        // Do some configuration
    });
});

这就是我想做的:

var azureServiceBus = Bus.Factory.CreateUsingAzureServiceBus(busConfig =>
{
    foreach (var myType in myTypes)
    {
        busConfig.Message(myType, configTopology =>
        {
            // Do some configuration
        });
    }
});

【问题讨论】:

    标签: c# masstransit


    【解决方案1】:

    Message 中没有接受Type 参数的重载,类型必须指定为泛型类型参数。但是,您可以使用一种方法在运行时调用泛型方法,指定类型参数,如 this question 中所示。

    【讨论】:

    • 我最终在包装类中创建了一个私有方法,该方法从总线调用所有方法,因此只有一个部分动态调用通用方法。效果非常好!
    猜你喜欢
    • 2012-08-06
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多