MassTransit - 升级到版本 8.1 后使用InMemoryOutbox

问题描述 投票:0回答:1

升级MassTransit到8.1版本后,注册码如下:

services.AddMassTransit(config =>
{
    config.AddConsumer<SubmitOrderConsumer>(cfg =>
    {
        cfg.UseInMemoryOutbox(); // Obsolete
    })

    config.UsingRabbitMq((ctx, cfg) =>
    {
        cfg.ConfigureEndpoints(ctx);
    });
});

被报告为已过时,并显示以下错误消息:

InMemoryOutboxConfigurationExtensions.UseInMemoryOutbox(IConsumerConfigurator, Action)' 已过时:'改用 IRegistrationContext 重载。

我知道我应该使用

IRegistrationContext
,但我不知道从哪里可以得到它?

出于某些原因,我不想将 InMemoryOutbox 启用移动到端点级别或消费者定义类。

还有其他选择吗?

masstransit
1个回答
0
投票

额外的重载已添加,以便可以传递注册上下文。它们将包含在最新的预发行包中并随 8.1.1 一起发布。

services.AddMassTransit(config =>
{
    config.AddConsumer<SubmitOrderConsumer>((context, cfg) =>
    {
        cfg.UseInMemoryOutbox(context);
    })

    config.UsingRabbitMq((ctx, cfg) =>
    {
        cfg.ConfigureEndpoints(ctx);
    });
});

© www.soinside.com 2019 - 2024. All rights reserved.