2012-07-25 12 views
5

के साथ निनजेक्ट को बदलें मैंने अपने आवेदन के लिए निनजेक्ट का उपयोग किया है। निनजेक वास्तव में सरल और सीखना आसान है, लेकिन इसकी काफी धीमी है और मैं निनजेक्ट के साथ जितनी तेज़ी से तुलना करता हूं, इसकी तुलना करने के लिए मैं एक और आईओसी का उपयोग करने की कोशिश करता हूं।सरल इंजेक्टर

एमवीसी 3 के लिए बहुत सारे आईओसी कंटेनर हैं और सरल इंजेक्टर मेरे लिए वास्तव में अच्छा लग रहा है, लेकिन मुझे Simple Injector के साथ निनजेक्ट को दोबारा बदलने में बहुत सारी समस्याएं हैं।

खासकर 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>() 

आप मेरी मदद कर सकते हैं? मैंने प्रलेखन पढ़ा है और गुगल किया है, लेकिन अभी तक कोई समाधान नहीं है।

+1

हम जब तक आप राज्य यह क्या आप के साथ मदद की जरूरत है तुम्हारी मदद नहीं कर सकते। क्या विफल रहता है? – Mithon

उत्तर

11

यह Ninject पंजीकरण मोटे तौर पर निम्नलिखित सरल इंजेक्टर पंजीकरण करने के लिए अनुवाद:

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

यह काम करता है! धन्यवाद :-)! वह काफी आसान था ... –

संबंधित मुद्दे