Sostituisci il ninject con semplice iniettore
-
11-12-2019 - |
Domanda
Ho usato Ninjey per la mia applicazione.Ninkey è davvero semplice e facile da imparare, ma è abbastanza lento e cerco di usare un altro CIO per confrontare se è più veloce come con Ninjey.
Ci sono molti contenitori IOC per MVC3 e semplice iniettore sembra davvero buono con me, ma ho molti problemi con il riquadro Ninjojject con Iniettore semplice .
Soprattutto con il AutoMapper
.Provo a convertire queste righe in un semplice codice iniettore.
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>()
.
puoi aiutarmi?Ho letto la documentazione e google, ma nessuna soluzione finora.
Soluzione
Questa registrazione Ninject si traduce approssimativamente nella 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>();
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow