如何使用 Autofac 在 MassTransit 中注册 GenericRequestClient

问题描述

我正在使用 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 未注册...

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)