我正在审查.NET 的 MassTransit 分布式应用程序框架 http://masstransit-project.com/。据网站介绍MassTransit 从一开始就涉及 IoC 容器的概念 http://docs.masstransit-project.com/en/latest/configuration/containers.html并为一些更“主流”的 IoC 容器提供支持库。 (目前)有适用于 Autofac、StructureMap、Castle Windsor、Ninject 和 Unity 的 NuGet 软件包。
我已选择简易注射器 https://simpleinjector.org作为我选择的 IoC 容器出于性能原因 http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison但我无法找到向 MassTransit 添加对 Simple Injector 的支持的集成库。
有没有人尝试过这个,让它工作并有一些代码可以帮助我开始?
我对 MassTransit 不熟悉,但看过之后其他容器的配置示例 http://docs.masstransit-project.com/en/latest/usage/containers/index.html,这就是我想出的:
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();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)