我正在查看 MassTransit Distributed Application Framework for .NET .据网站MassTransit has been built from the beginning with the concept of an IoC container being involved并为少数更“主流”的 IoC 容器提供支持库。有(当前)可用于 Autofac、StructureMap、CaSTLe Windsor、Ninject 和 Unity 的 NuGet 包。
我选择了Simple Injector作为我选择的 IoC 容器 for performance reasons但我无法找到一个集成库,将对 Simple Injector 的支持添加到 MassTransit。
有没有人试过这个,让它工作并有一些代码可以让我开始?
我对 MassTransit 不熟悉,但看了 the configuration examples for the other containers 之后,这就是我想出的:
public static void main(string[] args)
{
var container = new Container();
var consumers = container.GetTypesToRegister(typeof(IConsumer),
applicationAssemblies);
foreach (Type consumer in consumers)
container.Register(consumer);
IServiceBus bus = ServiceBusFactory.New(sbc => {
//other configuration options
sbc.Subscribe(subs => {
foreach (var consumer in consumers)
subs.Consumer(consumer);
});
});
container.RegisterSingle<IServiceBus>(bus);
container.Verify();
}