예제 #1
0
        private static void initializeDependency()
        {
//         var container = new AutofacContainer();
//         container.AddActivationHook<EventRegistrationHook>();
            var container = new CastleWindsorContainer();

            container.AddFacility <EventRegisterFacility>();
            container.AddFacility <TypedFactoryFacility>();


            IoC.InitializeWith(container);
            var serializerRegister = new CoreSerializerRegister();

            using (container.OptimizeDependencyResolution())
            {
                container.RegisterImplementationOf((IContainer)container);

                container.Register <IObjectBaseFactory, ObjectBaseFactory>(LifeStyle.Singleton);
                container.AddRegister(x => x.FromType <PresenterRegister>());
                container.AddRegister(x => x.FromType <UIRegister>());
                container.AddRegister(x => x.FromType <CoreRegister>());
                container.AddRegister(x => x.FromType <TestRegister>());
                container.AddRegister(x => x.FromType <InfrastructureRegister>());
                container.AddRegister(x => x.FromType <InfrastructureExportRegister>());
                container.AddRegister(x => x.FromType <InfrastructureSerializationRegister>());
                container.AddRegister(x => x.FromType <InfrastructureImportRegister>());
                container.AddRegister(x => x.FromInstance(serializerRegister));

                container.Register <IDimensionFactory, DimensionFactory>(LifeStyle.Singleton);
                container.Register <IApplicationController, ApplicationController>(LifeStyle.Singleton);
                container.Register <IEventPublisher, EventPublisher>(LifeStyle.Singleton);
                container.RegisterImplementationOf(getCurrentContext());
                container.Register <IHistoryManager, HistoryManager <MyContext> >();
                container.Register <IFullPathDisplayResolver, FullPathDisplayResolver>();
                container.Register <MyContext, MyContext>();
                container.Register <IConfigurableContainerLayoutView, AccordionLayoutView>();


                container.Register <DxContainer, DxContainer>(LifeStyle.Singleton);
//            container.AutofacBuilder.Register(c => c.Resolve<DxContainer>().ApplicationMenu).As<ApplicationMenu>();
//            container.AutofacBuilder.Register(c => c.Resolve<DxContainer>().BarManager).As<BarManager>();
//            container.AutofacBuilder.Register(c => c.Resolve<DxContainer>().PanelControl).As<PanelControl>();
//            container.AutofacBuilder.Register(c => c.Resolve<DxContainer>().RibbonControl).As<RibbonControl>();
//            container.AutofacBuilder.Register(c => c.Resolve<DxContainer>().RibbonBarManager).As<RibbonBarManager>();
//            container.AutofacBuilder.Register(c => c.Resolve<DxContainer>().UserLookAndFeel).As<UserLookAndFeel>();
//            container.AutofacBuilder.Register(c => c.Resolve<DxContainer>().XtraTabbedMdiManager).As<XtraTabbedMdiManager>();

                container.Register <RegionsContainer, RegionsContainer>(LifeStyle.Singleton);
//            container.AutofacBuilder.Register(c => c.Resolve<RegionsContainer>().Journal).Keyed<IRegion>(RegionNames.Journal.Name);
//            container.AutofacBuilder.Register(c => c.Resolve<RegionsContainer>().Comparison).Keyed<IRegion>(RegionNames.Comparison.Name);
//            container.AutofacBuilder.Register(c => c.Resolve<RegionsContainer>().Explorer).Keyed<IRegion>(RegionNames.Explorer.Name);
            }


            serializerRegister.PerformMappingForSerializerIn(IoC.Container);
        }