用简单的喷油器更换Ninject(Replace Ninject with Simple Injec

2019-06-26 12:53发布

我用Ninject我的应用程序。 Ninject是非常简单易学,但它很慢,我尝试使用其他国际奥委会如果快与Ninject比较。

有用于MVC3很多IoC容器和简单的喷油器看起来真的对我好,但我已经有很多问题与replacting Ninject 简单的注射器 。

特别是随着AutoMapper 。 我尝试这个线转换成简单的喷油器的代码。

Bind<ITypeMapFactory>().To<TypeMapFactory>();

foreach (var mapper in MapperRegistry.AllMappers())
{
    Bind<IObjectMapper>().ToConstant(mapper);
}

Bind<ConfigurationStore>().ToSelf().InSingletonScope()
    .WithConstructorArgument("mappers",
        ctx => ctx.Kernel.GetAll<IObjectMapper>());

Bind<IConfiguration>()
    .ToMethod(ctx => ctx.Kernel.Get<ConfigurationStore>());

Bind<IConfigurationProvider>().ToMethod(ctx =>
    ctx.Kernel.Get<ConfigurationStore>());

Bind<IMappingEngine>().To<MappingEngine>()

你能帮助我吗? 我读过的文档和google搜索,但没有解决办法为止。

Answer 1:

这Ninject登记大致翻译成以下简单的注射器登记:

container.Register<ITypeMapFactory, TypeMapFactory>();
container.RegisterCollection<IObjectMapper>(MapperRegistry.AllMappers());
container.RegisterSingleton<IConfiguration, ConfigurationStore>();
container.RegisterSingleton<IConfigurationProvider, ConfigurationStore>();
container.Register<IMappingEngine, MappingEngine>();


文章来源: Replace Ninject with Simple Injector