如何在Autofac模块中注册Masstransit使用者。
我有此代码:
builder.AddMassTransit(configurator =>
{
configurator.AddConsumers(ThisAssembly);
//Bus
configurator.AddBus(c => c.Resolve<IBusFactory>().CreateBus());
});
在另一个模块中,我有以下代码:
public class AutofacModule: Module
{
public override void Load(ContainerBuilder builder)
{
builder.RegisterConsumers(ThisAssembly);
}
}
但是Masstransit找不到位于Modue装配中的使用者。 请帮助
编辑: 我有多个程序集(模块),而起始项目没有直接引用它们。程序集是使用/ Modules子文件夹中的MEF在应用程序启动时加载的。使用者位于这些模块中。我将Autofac与MEF集成使用,以将Autofac模块加载到Autofac配置中。 当我说公共交通找不到消费者时,我的意思是: 当我在断点上吃掉那条线
configurator.AddBus(...)
并检查configurator._consumerRegistrations字段,其中没有任何内容,只有启动应用程序中的内容。同样,当我发布事件时,位于那些模块中的所有使用者都没有使用它。这些事件仅在启动应用程序中使用。