2012-07-25 12 views
5

Ho usato Ninject per la mia applicazione. Ninject è davvero semplice e facile da imparare, ma è piuttosto lento e cerco di usare un altro IoC per confrontare se è più veloce come con Ninject.Sostituisci Ninject con Simple Injector

Ci sono molti contenitori IoC per MVC3 e Simple Injector mi sembra molto buono, ma ho un sacco di problemi con la sostituzione di Ninject con Simple Injector.

Soprattutto con AutoMapper. Provo a convertire queste linee in codice 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>() 

Ti può aiutarmi? Ho letto la documentazione e ho cercato su Google, ma nessuna soluzione fino ad ora.

+1

Non possiamo aiutarvi a meno dichiarate che cosa è hai bisogno di aiuto. Cosa fallisce? – Mithon

risposta

11

Questa registrazione Ninject traduce approssimativamente al seguente registrazione iniettore Semplice:

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

Funziona! GRAZIE :-)! E 'stato abbastanza facile ... –