0

我正在使用 MassTransit,需要使用请求/响应流。我还使用 Autofac 注册所有 MassTransit 的东西,如下所示:

builder.AddMassTransit(cfg =>
        {
            // Consumers
            cfg.AddConsumers(ThisAssembly);

            // Bus
            cfg.UsingRabbitMq((context, c) =>
            {
               ...
               c.ReceiveEndpoint(settings.QueueName, e =>
               {
                  ...
                  e.ConfigureConsumers(context);
               }
            }
        });

我在文档中读到我必须像这样注册 IRequestClient<> :

cfg.AddRequestClient<CheckOrderStatus>();

但是我不是只有一个 RequestClient,而是会有很多,并且想使用 Autofac 自动注册它们。

有 x.AddGenericRequestClient() 之类的东西,但它仅在使用 Microsoft DI 容器时才有效,并且当我尝试将此扩展的行为复制到 Autofac 中时,它不起作用,因为它说 ScopedConsumeContextProvider 未注册...

那么如何将多个可以在多个程序集中的 RequestClients 注册到 Autofac 中呢?

4

0 回答 0