Question

J'ai utilisé Ninject pour mon application.Ninject est vraiment simple et facile à apprendre, mais c'est assez lent et j'essaie d'utiliser un autre IoC pour comparer s'il est plus rapide qu'avec Ninject.

Il existe de nombreux conteneurs IoC pour MVC3 et Simple Injector me semble vraiment bien, mais j'ai beaucoup de problèmes pour remplacer Ninject par Injecteur simple.

Surtout avec le AutoMapper.J'essaie de convertir ces lignes en code Simple Injector.

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>()

Pouvez-vous m'aider ?J'ai lu la documentation et cherché sur Google, mais pas de solution pour l'instant.

Était-ce utile?

La solution

Cet enregistrement Ninject se traduit approximativement par l’enregistrement Simple Injector suivant :

container.Register<ITypeMapFactory, TypeMapFactory>();
container.RegisterCollection<IObjectMapper>(MapperRegistry.AllMappers());
container.RegisterSingleton<IConfiguration, ConfigurationStore>();
container.RegisterSingleton<IConfigurationProvider, ConfigurationStore>();
container.Register<IMappingEngine, MappingEngine>();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top